[关闭]
@baobaobear 2020-03-17T09:51:26.000000Z 字数 5332 阅读 296

练习6

practise


A hesorchen

  1. //https://blog.csdn.net/hesorchen
  2. #include <iostream>
  3. #include <algorithm>
  4. #include <cmath>
  5. #include <cstdio>
  6. #include <cstring>
  7. #include <string>
  8. #include <queue>
  9. #include <stack>
  10. #include <map>
  11. #include <set>
  12. using namespace std;
  13. #define ll long long
  14. #define endl "\n"
  15. #define lowbit(a) (a & (-a))
  16. #define INF 0x3f3f3f3f
  17. #define MAX 1010
  18. #define mod 1000000007
  19. #define PI 3.1415926
  20. int main()
  21. {
  22. ll a, b;
  23. cin >> a >> b;
  24. cout << max(a + b, max(a * b, a - b)) << endl;
  25. return 0;
  26. }

B hesorchen

  1. //https://blog.csdn.net/hesorchen
  2. #include <iostream>
  3. #include <algorithm>
  4. #include <cmath>
  5. #include <cstdio>
  6. #include <cstring>
  7. #include <string>
  8. #include <queue>
  9. #include <stack>
  10. #include <map>
  11. #include <set>
  12. using namespace std;
  13. #define ll long long
  14. #define endl "\n"
  15. #define lowbit(a) (a & (-a))
  16. #define INF 0x3f3f3f3f
  17. #define MAX 1010
  18. #define mod 1000000007
  19. #define PI 3.1415926
  20. int main()
  21. {
  22. string ans = "ABC";
  23. string temp;
  24. while (cin >> temp)
  25. {
  26. int a = temp[0] - 'A';
  27. int b = temp[2] - 'A';
  28. char c;
  29. c = ans[a];
  30. ans[a] = ans[b];
  31. ans[b] = c;
  32. }
  33. for (int i = 0; i < 3; i++)
  34. if (ans[i] == 'A')
  35. {
  36. cout << (char)(i + 'A') << endl;
  37. break;
  38. }
  39. return 0;
  40. }

C hesorchen

  1. //https://blog.csdn.net/hesorchen
  2. #include <iostream>
  3. #include <algorithm>
  4. #include <cmath>
  5. #include <cstdio>
  6. #include <cstring>
  7. #include <string>
  8. #include <queue>
  9. #include <stack>
  10. #include <map>
  11. #include <set>
  12. using namespace std;
  13. #define ll long long
  14. #define endl "\n"
  15. #define lowbit(a) (a & (-a))
  16. #define INF 0x3f3f3f3f
  17. #define MAX 1010
  18. #define mod 1000000007
  19. #define PI 3.1415926
  20. int check(int i)
  21. {
  22. string temp;
  23. while (i > 0)
  24. {
  25. temp += i % 10 + 'a';
  26. i /= 10;
  27. }
  28. int len = temp.size();
  29. for (int i = 0; i < len; i++)
  30. {
  31. if (temp[i] != temp[len - i - 1])
  32. return 0;
  33. }
  34. return 1;
  35. }
  36. int main()
  37. {
  38. int n;
  39. while (cin >> n)
  40. {
  41. for (int i = n, j = n;; i++, j--)
  42. {
  43. if (check(j))
  44. {
  45. cout << j << endl;
  46. break;
  47. }
  48. if (check(i))
  49. {
  50. cout << i << endl;
  51. break;
  52. }
  53. }
  54. }
  55. return 0;
  56. }

D hesorchen

  1. //https://blog.csdn.net/hesorchen
  2. #include <iostream>
  3. #include <algorithm>
  4. #include <cmath>
  5. #include <cstdio>
  6. #include <cstring>
  7. #include <string>
  8. #include <queue>
  9. #include <stack>
  10. #include <map>
  11. #include <set>
  12. using namespace std;
  13. #define ll long long
  14. #define endl "\n"
  15. #define lowbit(a) (a & (-a))
  16. #define INF 0x3f3f3f3f
  17. #define MAX 1010
  18. #define mod 1000000007
  19. #define PI 3.1415926
  20. int p[1000100];
  21. int main()
  22. {
  23. int n;
  24. cin >> n;
  25. ;
  26. int k;
  27. cin >> k;
  28. for (int i = 0; i < n; i++)
  29. cin >> p[i];
  30. sort(p, p + n);
  31. cout << p[k - 1] << endl;
  32. return 0;
  33. }

E hesorchen

  1. //https://blog.csdn.net/hesorchen
  2. #include <iostream>
  3. #include <algorithm>
  4. #include <cmath>
  5. #include <cstdio>
  6. #include <cstring>
  7. #include <string>
  8. #include <queue>
  9. #include <stack>
  10. #include <map>
  11. #include <set>
  12. using namespace std;
  13. #define ll long long
  14. #define endl "\n"
  15. #define lowbit(a) (a & (-a))
  16. #define INF 0x3f3f3f3f
  17. #define MAX 1010
  18. #define mod 1000000007
  19. #define PI 3.1415926
  20. map<string, int> mp;
  21. int main()
  22. {
  23. int n;
  24. cin >> n;
  25. while (n--)
  26. {
  27. string a;
  28. cin >> a;
  29. mp[a]++;
  30. }
  31. int maxx = 0;
  32. for (auto it = mp.begin(); it != mp.end(); it++)
  33. maxx = max(maxx, it->second);
  34. // cout << maxx << endl;
  35. for (auto it = mp.begin(); it != mp.end(); it++)
  36. if (maxx == it->second)
  37. cout << it->first << endl;
  38. return 0;
  39. }

F hesorchen

  1. //https://blog.csdn.net/hesorchen
  2. #include <iostream>
  3. #include <algorithm>
  4. #include <cmath>
  5. #include <cstdio>
  6. #include <cstring>
  7. #include <string>
  8. #include <queue>
  9. #include <stack>
  10. #include <map>
  11. #include <set>
  12. using namespace std;
  13. #define ll long long
  14. #define endl "\n"
  15. #define lowbit(a) (a & (-a))
  16. #define INF 0x3f3f3f3f
  17. #define MAX 1010
  18. #define mod 1000000007
  19. #define PI 3.1415926
  20. int main()
  21. {
  22. int t;
  23. cin >> t;
  24. while (t--)
  25. {
  26. string a;
  27. cin >> a;
  28. int len = a.size();
  29. ll s = 0, t = 1;
  30. for (int i = len - 1; i >= 0; i--)
  31. {
  32. if (a[i] == '1')
  33. s += t;
  34. t *= 2;
  35. }
  36. string ans;
  37. // cout << s << endl;
  38. while (s > 0)
  39. {
  40. if (s % 3 == 1)
  41. ans = '1' + ans;
  42. else if (s % 3 == 2)
  43. ans = '2' + ans;
  44. else
  45. ans = '0' + ans;
  46. s /= 3;
  47. }
  48. cout << ans << endl;
  49. }
  50. return 0;
  51. }

G chenyingqi

  1. #include <iostream>
  2. #include <cstdio>
  3. #include <fstream>
  4. #include <algorithm>
  5. #include <cmath>
  6. #include <deque>
  7. #include <vector>
  8. #include <queue>
  9. #include <string>
  10. #include <cstring>
  11. #include <map>
  12. #include <stack>
  13. #include <set>
  14. #include <sstream>
  15. #define IOS ios_base::sync_with_stdio(0); cin.tie(0);
  16. #define ll long long
  17. #define INF 0x3f3f3f3f
  18. #define MEM(x,y) memset(x,y,sizeof(x))
  19. #define int long long
  20. #define rep(i , a , b) for(int i = a ; i <= b ; i ++)
  21. #define P pair<int,int>
  22. #define sc(a) scanf("%lld",&a)
  23. #define pf(a) printf("%lld ",a)
  24. using namespace std;
  25. struct point
  26. {
  27. int x;
  28. int y;
  29. }point [20];
  30. struct xia
  31. {
  32. int x;
  33. int y;
  34. }v[10];
  35. int vis[20];
  36. int maxx;
  37. int n, q;
  38. void ju()
  39. {
  40. int temp = 0;
  41. for (int i = 0; i < q; i++)
  42. for (int j = i+1; j < q; j++)
  43. if (v[i].x * v[j].y == v[i].y * v[j].x)
  44. temp++;
  45. maxx = max(temp, maxx);
  46. return;
  47. }
  48. void dfs(int x)
  49. {
  50. while (vis[x])x++;
  51. if (x >= n) {
  52. ju();
  53. return;
  54. }
  55. vis[x] = 1;
  56. for (int i = 0; i < n; i++)
  57. {
  58. if (!vis[i])
  59. {
  60. vis[i] = 1;
  61. int dy = point[x].y - point[i].y;
  62. int dx = point[x].x - point[i].x;
  63. v[q].x = dx, v[q].y = dy;
  64. q++;
  65. dfs(x + 1);
  66. q--;
  67. vis[i] = 0;
  68. }
  69. }
  70. vis[x] = 0;
  71. return;
  72. }
  73. signed main()
  74. {
  75. sc(n);
  76. MEM(vis, 0);
  77. rep(i, 0, n - 1)
  78. sc(point[i].x), sc(point[i].y);
  79. dfs(0);
  80. cout << maxx << endl;
  81. }

H puluo

  1. #include<stdio.h>
  2. const long long mod=1e9+7;
  3. long long pre[200005];
  4. /*快速幂板子*/
  5. long long qmul(long long a,long long b)
  6. {
  7. long long res=1;
  8. while(b)
  9. {
  10. if(b&1)res=res*a%mod;
  11. a=a*a%mod;
  12. b>>=1;
  13. }
  14. return res%mod;
  15. }
  16. /*组合数板子*/
  17. long long C(int a,int b)
  18. {
  19. long long res=1,i,j;
  20. for(i=1,j=a;i<=b;i++,j--)
  21. {
  22. res=res*j%mod;
  23. res=res*qmul(i,mod-2)%mod;
  24. }
  25. return res;
  26. }
  27. int main()
  28. {
  29. long long n,a,b,ans;
  30. pre[0]=1;
  31. for(int i=1;i<=200005;i++)pre[i]=pre[i-1]*i%mod;
  32. scanf("%lld%lld%lld",&n,&a,&b);
  33. ans=(qmul(2,n)-1)-C(n,a)-C(n,b);
  34. while(ans<0)ans+=mod;
  35. printf("%lld\n",ans);
  36. }

I lnkkerst

  1. #include <iostream>
  2. #include <cstring>
  3. using namespace std;
  4. int n, m, e[51][51], ans, u[51 << 1], v[51 << 1];
  5. bool vis[51];
  6. void dfs(int node) {
  7. vis[node] = 1;
  8. for(int i = 1; i <= n; ++i) {
  9. if(i == node) continue;
  10. if(!vis[i] && e[node][i]) dfs(i);
  11. }
  12. }
  13. int main() {
  14. ios::sync_with_stdio(0);
  15. cin.tie(NULL);
  16. cin >> n >> m;
  17. for(int i = 1; i <= m; ++i) {
  18. cin >> u[i] >> v[i];
  19. e[u[i]][v[i]] = e[v[i]][u[i]] = 1;
  20. }
  21. for(int i = 1; i <= m; ++i) {
  22. e[u[i]][v[i]] = e[v[i]][u[i]] = 0;
  23. memset(vis, 0, sizeof(vis));
  24. dfs(1);
  25. for(int i = 1; i <= n; ++i)
  26. if(!vis[i]) {
  27. ++ans;
  28. break;
  29. }
  30. e[u[i]][v[i]] = e[v[i]][u[i]] = 1;
  31. }
  32. cout << ans;
  33. return 0;
  34. }
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注