[关闭]
@baobaobear 2020-03-24T12:13:53.000000Z 字数 6959 阅读 278

练习7

practise


A lnkkerst

  1. #include <iostream>
  2. using namespace std;
  3. int a, b;
  4. char op;
  5. int main() {
  6. cin >> a >> op >> b;
  7. if(op == '+') cout << a + b;
  8. else cout << a - b;
  9. return 0;
  10. }

B lnkkerst

  1. #include <iostream>
  2. #include <algorithm>
  3. using namespace std;
  4. int a[10], n;
  5. int main() {
  6. for(int i = 1; i <= 5; ++i)
  7. cin >> a[i];
  8. sort(a + 1, a + 6, greater<int >());
  9. for(int i = 1; i <= 4; ++i)
  10. cout << a[i] << ' ';
  11. cout << a[5] << endl;
  12. return 0;
  13. }

C Kevin7Zz

  1. #include <cstdio>
  2. #include <iostream>
  3. #include <algorithm>
  4. #include <cstring>
  5. #include <queue> //priority_queue 优先队列
  6. #include <map>
  7. #include <set> //multiset set<int,greater<int>>大到小
  8. #include <vector>// ::iterator it;
  9. #include <stack>
  10. #include <cmath> // auto &Name : STLname Name.
  11. #include <utility>
  12. #include <sstream>
  13. #include <string>
  14. #define mod 1000000007
  15. #define mod9 998244353
  16. typedef unsigned long long ull;
  17. typedef long long ll;
  18. typedef double db;
  19. const db eps=1e-6;
  20. const int INF = 0x3f3f3f3f;
  21. const ll inf=0x3f3f3f3f3f3f3f3f;
  22. const int N=1e6+8;
  23. inline ll read(){ll s=0,w=1;char ch=getchar();while(ch<'0'||ch>'9'){if(ch=='-')w=-1;ch=getchar();}while(ch>='0'&&ch<='9') s=s*10+ch-'0',ch=getchar();return s*w;}
  24. using namespace std;
  25. int t,n,m,k,cnt=0,sum=0;
  26. int main(){
  27. while(scanf("%d",&n)){
  28. if(n==0) return 0;
  29. string a[205],ans;
  30. for(int i=0;i<n;i++){
  31. cin>>a[i];
  32. }
  33. char c;
  34. int flag=0;
  35. for(int i=1;i<=a[0].size();i++){
  36. c=a[0][a[0].size()-i];
  37. for(int j=1;j<n;j++){
  38. if(a[j][a[j].size()-i]!=c){
  39. flag=1;
  40. break;
  41. }
  42. }
  43. if(flag==0) ans.insert(ans.begin(),c);
  44. else break;
  45. }
  46. cout<<ans<<endl;
  47. }
  48. return 0;
  49. }

D OUHE_csc

  1. #include<iostream>
  2. #include<sstream>
  3. #include<algorithm>
  4. #include<cstring>
  5. #include<cstdio>
  6. using namespace std;
  7. const int N = 1010;
  8. string str;
  9. string a[3] = {"the", "this", "that"};
  10. bool st[3];
  11. bool check(int k)
  12. {
  13. string s = str;
  14. for(int i = 0; i < s.size(); i ++)
  15. if(s[i] >= 'a' and s[i] <= 'z') s[i] = (s[i] - 'a' + k) % 26 + 'a';
  16. memset(st, 0, sizeof st);
  17. stringstream ss(s);
  18. while(ss >> s)
  19. {
  20. // 删掉字母之外的东西
  21. for(int i = s.size() - 1; i >= 0; i --)
  22. if(!(s[i] >= 'a' and s[i] <= 'z'))
  23. s = s.substr(0, i) + s.substr(i + 1);
  24. for(int i = 0; i < 3; i ++)
  25. if(s == a[i]) return true;
  26. }
  27. return false;
  28. }
  29. int main()
  30. {
  31. while(getline(cin, str))
  32. {
  33. int k = 0;
  34. for(k = 0; k < 26; k ++)
  35. if(check(k)) break;
  36. for(int i = 0; i < str.size(); i ++)
  37. if(str[i] >= 'a' and str[i] <= 'z')
  38. str[i] = (str[i] - 'a' + k) % 26 + 'a';
  39. cout << str << endl;
  40. }
  41. return 0;
  42. }

E chromer

Java

  1. import java.util.Scanner;
  2. public class Main
  3. {
  4. static String tp;
  5. static String l[]=new String [3];
  6. static String r[]=new String [3];
  7. static String a[]=new String [3];
  8. public static boolean heavy(char jia) {
  9. String aaa=new String(""+jia);
  10. for (int i=0; i<3; ++i) {
  11. if (l[i].contains(aaa)) {
  12. if (a[i].charAt(0) != 'u')
  13. return false;
  14. }
  15. else if (r[i].contains(aaa)) {
  16. if (a[i].charAt(0) != 'd')
  17. return false;
  18. }
  19. }
  20. return true;
  21. }
  22. public static boolean light(char jia) {
  23. String aaa=new String(""+jia);
  24. for (int i=0; i<3; ++i) {
  25. if (l[i].contains(aaa)) {
  26. if (a[i].charAt(0) != 'd')
  27. return false;
  28. }
  29. else if (r[i].contains(aaa)) {
  30. if (a[i].charAt(0) != 'u')
  31. return false;
  32. }
  33. }
  34. return true;
  35. }
  36. public static void main(String args[]) throws Exception
  37. {
  38. Scanner cin=new Scanner(System.in);
  39. int n;
  40. n=cin.nextInt();
  41. for(int q=0; q<n ;++q) {
  42. l[0]=cin.next();r[0]=cin.next();a[0]=cin.next();
  43. l[1]=cin.next();r[1]=cin.next();a[1]=cin.next();
  44. l[2]=cin.next();r[2]=cin.next();a[2]=cin.next();
  45. for (char i='A';i<='L'; ++i) {
  46. if (heavy(i)) {
  47. System.out.println(i+" is the counterfeit coin and it is heavy.");
  48. break;
  49. }
  50. if (light(i)) {
  51. System.out.println(i+" is the counterfeit coin and it is light.");
  52. break;
  53. }
  54. }
  55. }
  56. cin.close();
  57. }
  58. }

F OUHE_csc

  1. #include<iostream>
  2. #include<sstream>
  3. #include<algorithm>
  4. #include<cstring>
  5. #include<cstdio>
  6. using namespace std;
  7. const int N = 1e6 + 10;
  8. int a[N], q[N];
  9. int main()
  10. {
  11. int n, m;
  12. scanf("%d%d", &n, &m);
  13. int hh = 0, tt = -1;
  14. for(int i = 1; i <= n; i ++)
  15. {
  16. scanf("%d", &a[i]);
  17. if(hh <= tt and q[hh] < i - m + 1) hh ++;
  18. while(hh <= tt and a[q[tt]] >= a[i]) tt --;
  19. q[++ tt] = i;
  20. if(i >= m)
  21. {
  22. printf("%d", a[q[hh]]);
  23. if(i < n) printf(" ");
  24. else puts("");
  25. }
  26. //for(int j = hh; j <= tt; j ++) printf("%d ", q[j]); puts("");
  27. }
  28. return 0;
  29. }

G rubbish_is_me

  1. #include<bits/stdc++.h>
  2. #include<iostream>
  3. #include<string.h>
  4. #include<algorithm>
  5. #include<stdio.h>
  6. #include<math.h>
  7. #include<vector>
  8. #include<map>
  9. #include<set>
  10. #include<time.h>
  11. #include<climits>
  12. #define debug(a) cout << "*" << a << "*" << endl
  13. #define ls (k << 1)
  14. #define rs ((k << 1) | 1)
  15. #define mid ((l + r) >> 1)
  16. using namespace std;
  17. typedef long long ll;
  18. ll bas, n, ans;
  19. char s[15];
  20. int prime[11] = {2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31};
  21. ll fg[11], mys[11], fgn[11], num;
  22. void gt()
  23. {
  24. num = 0;
  25. memset(fgn, 0, sizeof(fgn));
  26. memset(mys, 0, sizeof(mys));
  27. for (int i = 0; i <= 10; i++)
  28. {
  29. if (bas % prime[i] == 0)
  30. {
  31. fg[num++] = prime[i];
  32. while (bas % prime[i] == 0)
  33. {
  34. bas /= prime[i];
  35. mys[num - 1]++;
  36. }
  37. }
  38. }
  39. for (int i = 0; i < num; i++)
  40. {
  41. ll tp = n;
  42. while (tp)
  43. {
  44. fgn[i] += tp /= fg[i];
  45. }
  46. ans = min(ans, (ll)fgn[i] / mys[i]);
  47. }
  48. }
  49. int main()
  50. {
  51. while (~scanf("%lld%s", &bas, s) && bas)
  52. {
  53. ans = 2000000000000000000;
  54. n = 0;
  55. for (int i = 0; s[i]; i++)
  56. {
  57. n = n * bas;
  58. if (s[i] <= '9')
  59. {
  60. n += s[i] - '0';
  61. }
  62. else
  63. n += s[i] - 'A' + 10;
  64. }
  65. gt();
  66. printf("%lld\n", ans);
  67. }
  68. }

H OUHE_csc

  1. #include<iostream>
  2. #include<algorithm>
  3. #include<cstring>
  4. #include<cstdio>
  5. using namespace std;
  6. const int N = 1010, INF = 1e9;
  7. int n, m;
  8. int f[N][N];
  9. void init(int n, int m)
  10. {
  11. for(int i = 1; i <= n; i ++)
  12. {
  13. f[i][1] = i;
  14. for(int j = 2; j <= m; j ++)
  15. {
  16. f[i][j] = INF;
  17. for(int k = 1; k <= i; k ++)
  18. f[i][j] = min(f[i][j], max(f[k - 1][j - 1], f[i - k][j]) + 1);
  19. }
  20. }
  21. }
  22. int main()
  23. {
  24. init(1000, 50);
  25. int t;
  26. scanf("%d", &t);
  27. for(int i = 1; i <= t; i ++)
  28. {
  29. int n, m;
  30. scanf("%*d%d%d", &m, &n);
  31. printf("%d %d\n", i, f[n][m]);
  32. }
  33. return 0;
  34. }

I 184215092008

  1. #include <iostream>
  2. #include <stdio.h>
  3. #include <string>
  4. #include <string.h>
  5. #include <math.h>
  6. #include <vector>
  7. #include<map>
  8. #include<queue>
  9. #include <algorithm>
  10. using namespace std;
  11. #define int long long
  12. const int maxn = 1e5+5;
  13. int n,m;
  14. vector<int>e[10];
  15. int vis[10];
  16. int ans = 0;
  17. bool check()
  18. {
  19. for(int i=1;i<=n;i++)
  20. if(!vis[i]) return false;
  21. return true;
  22. }
  23. void dfs(int s)
  24. {
  25. if(check())
  26. {
  27. ans++;
  28. return ;
  29. }
  30. for(int i=0;i<e[s].size();i++)
  31. {
  32. if(!vis[e[s][i]])
  33. {
  34. vis[e[s][i]]=1;
  35. dfs(e[s][i]);
  36. vis[e[s][i]]=0;
  37. }
  38. }
  39. }
  40. signed main()
  41. {
  42. std::ios::sync_with_stdio(false);
  43. cin>>n>>m;
  44. for(int i=0,u,v;i<m;i++)
  45. {
  46. cin>>u>>v;
  47. e[u].push_back(v);
  48. e[v].push_back(u);
  49. }
  50. memset(vis,0,sizeof(vis));
  51. vis[1]=1;
  52. dfs(1);
  53. cout<<ans<<endl;
  54. return 0;
  55. }

J 15291200127

  1. #include <set>
  2. #include <map>
  3. #include <deque>
  4. #include <queue>
  5. #include <stack>
  6. #include <cmath>
  7. #include <ctime>
  8. #include <bitset>
  9. #include <cstdio>
  10. #include <string>
  11. #include <vector>
  12. #include <cstdlib>
  13. #include <cstring>
  14. #include <cassert>
  15. #include <iostream>
  16. #include <algorithm>
  17. #define mem(a,b) memset(a,b,sizeof (a))
  18. #define gcd(a,b) __gcd(a,b)
  19. #define all(a) a.begin(),a.end()
  20. #define sz(s) s.size()
  21. #define endl '\n'
  22. #define pb push_back
  23. typedef long long ll;
  24. const int maxn=100010;
  25. const int inf=1e9;
  26. const ll mod=998244353;
  27. const double pi=3.14159265358979;
  28. const double ep=0.0;
  29. using namespace std;
  30. struct A
  31. {
  32. int id,val;
  33. }a[maxn],b[maxn];
  34. int r[maxn],r1[maxn],c[maxn],d[maxn];
  35. vector<int>ans[maxn],vec;
  36. set<int>se;
  37. int fd(int x)
  38. {
  39. return d[x]==x?x:d[x]=fd(d[x]);
  40. }
  41. bool cmp(A a,A b)
  42. {
  43. if (a.val==b.val)
  44. return a.id<b.id;
  45. return a.val<b.val;
  46. }
  47. int main()
  48. {
  49. int t;
  50. cin>>t;
  51. while (t--)
  52. {
  53. se.clear();
  54. int n;
  55. cin>>n;
  56. for (int i=1;i<=n;i++)
  57. {
  58. cin>>a[i].val;
  59. a[i].id=i;
  60. b[i].id=a[i].id;
  61. b[i].val=a[i].val;
  62. }
  63. sort(b+1,b+1+n,cmp);
  64. for (int i=1;i<=n;i++)
  65. {
  66. r[i]=b[i].id;
  67. r1[b[i].id]=i;
  68. c[i]=0;
  69. d[i]=i;
  70. }
  71. for (int i=1;i<=n;i++)
  72. {
  73. if (sz(se)==0)
  74. {
  75. se.insert(r1[i]);
  76. continue;
  77. }
  78. auto x=se.lower_bound(r1[i]);
  79. if (x==se.begin()&&*se.begin()>r1[i])
  80. {
  81. se.insert(r1[i]);
  82. continue;
  83. }
  84. else
  85. {
  86. x--;
  87. int t=*x;
  88. d[i]=r[t];
  89. c[t]++;
  90. if (c[t]>=2)
  91. se.erase(t);
  92. se.insert(r1[i]);
  93. }
  94. }
  95. for (int i=1;i<=n;i++)
  96. ans[i].clear();
  97. vec.clear();
  98. for (int i=1;i<=n;i++)
  99. {
  100. if (d[i]==i)
  101. vec.pb(i);
  102. ans[fd(i)].pb(i);
  103. }
  104. cout<<sz(vec)<<endl;
  105. for (auto i:vec)
  106. {
  107. sort(all(ans[i]));
  108. cout<<sz(ans[i])<<' ';
  109. for (int j=0;j<sz(ans[i]);j++)
  110. {
  111. if (j==sz(ans[i])-1)
  112. cout<<ans[i][j]<<endl;
  113. else
  114. cout<<ans[i][j]<<' ';
  115. }
  116. }
  117. }
  118. return 0;
  119. }
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注