[关闭]
@Alpacadh 2019-02-14T14:04:01.000000Z 字数 2369 阅读 792

D - The Modcrab (CF - 903B)

题意:

解题思路:

代码:

  1. #include<bits/stdc++.h>
  2. //#include<iostream>
  3. //#include<algorithm>
  4. //#include<cmath>
  5. //#include<cstring>
  6. //#include<stdio.h>
  7. using namespace std;
  8. const int inf=0x3f3f3f3f;
  9. const int N=1e5+5;
  10. const double eps=1e-4;
  11. typedef long long ll;
  12. typedef pair<int,ll> pil;
  13. int a[N];
  14. int main()
  15. {
  16. int h1,a1,c1,a2,h2;
  17. scanf("%d%d%d",&h1,&a1,&c1);
  18. int ma=h1;
  19. scanf("%d%d",&h2,&a2);
  20. int len=0;
  21. for(int i=0;;i++)
  22. {
  23. if(h2<=0)
  24. {
  25. len=i;
  26. break;
  27. }
  28. if(h1-a2<=0)
  29. {
  30. if(h2-a1<=0)
  31. {
  32. len=i+1;
  33. a[i]=0;
  34. break;
  35. }
  36. a[i]=1;
  37. h1+=c1;
  38. // cout<<h1<<endl;
  39. h1-=a2;
  40. }
  41. else
  42. {
  43. h2-=a1;
  44. h1-=a2;
  45. a[i]=0;
  46. }
  47. }
  48. printf("%d\n",len);
  49. for(int i=0;i<len;i++)
  50. {
  51. if(a[i]==1)
  52. printf("HEAL\n");
  53. else
  54. printf("STRIKE\n");
  55. }
  56. return 0;
  57. }

E - Buggy Robot (CF - 888B)

题意:

解题思路:

代码:

  1. #include<bits/stdc++.h>
  2. //#include<iostream>
  3. //#include<algorithm>
  4. //#include<cmath>
  5. //#include<cstring>
  6. //#include<stdio.h>
  7. using namespace std;
  8. const int inf=0x3f3f3f3f;
  9. const int N=1e5+5;
  10. const double eps=1e-4;
  11. typedef long long ll;
  12. typedef pair<int,ll> pil;
  13. char a[N];
  14. int main()
  15. {
  16. int n;
  17. int l=0,r=0,u=0,d=0;
  18. scanf("%d%s",&n,a);
  19. for(int i=0;i<n;i++)
  20. {
  21. if(a[i]=='L')
  22. l++;
  23. else if(a[i]=='R')
  24. r++;
  25. else if(a[i]=='U')
  26. u++;
  27. else
  28. d++;
  29. }
  30. int ans=2*(min(l,r)+min(u,d));
  31. printf("%d\n",ans);
  32. return 0;
  33. }

F - Bertown Subway (CF - 884c)

题意:

解题思路:

代码:

  1. #include<bits/stdc++.h>
  2. //#include<iostream>
  3. //#include<algorithm>
  4. //#include<cmath>
  5. //#include<cstring>
  6. //#include<stdio.h>
  7. using namespace std;
  8. const int inf=0x3f3f3f3f;
  9. const int N=1e5+5;
  10. const double eps=1e-4;
  11. typedef long long ll;
  12. typedef pair<int,ll> pil;
  13. int a[N];
  14. ll b[N];
  15. int vis[N];
  16. void dfs(int n,ll &ans)
  17. {
  18. ans++;
  19. if(vis[a[n]]==0)
  20. {
  21. vis[a[n]]=1;
  22. dfs(a[n],ans);
  23. }
  24. return;
  25. }
  26. int main()
  27. {
  28. int n;
  29. scanf("%d",&n);
  30. for(int i=1;i<=n;i++)
  31. {
  32. scanf("%d",&a[i]);
  33. }
  34. int k=0;
  35. for(int i=1;i<=n;i++)
  36. {
  37. if(vis[i]==0)
  38. {
  39. vis[i]=1;
  40. dfs(i,b[++k]);
  41. }
  42. }
  43. sort(b+1,b+1+k);
  44. if(k==1)
  45. printf("%lld\n",b[k]*b[k]);
  46. else
  47. {
  48. b[k-1]+=b[k];
  49. k--;
  50. ll ans=0;
  51. for(int i=1;i<=k;i++)
  52. {
  53. ans+=b[i]*b[i];
  54. }
  55. printf("%lld\n",ans);
  56. }
  57. return 0;
  58. }
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注