Codeforces Global Round 2(A/B/C)

痛定思痛。 2022-02-22 02:08 202阅读 0赞

这场比赛作出前两道题就挂机了,没有信心做下去了。

题目链接:http://codeforces.com/contest/1119

A. Ilya and a Colorful Walk

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. const int maxn=3e5+10;
  4. int a[maxn];
  5. int main(){
  6. int n;
  7. scanf("%d",&n);
  8. for(int i=1;i<=n;i++){
  9. scanf("%d",&a[i]);
  10. }
  11. int mx=0;
  12. for(int i=1;i<=n;i++){
  13. if(a[i]!=a[1]) mx=max(mx,i-1);
  14. if(a[i]!=a[n]) mx=max(mx,n-i);
  15. }
  16. printf("%d\n",mx);
  17. return 0;
  18. }

B. Alyona and a Narrow Fridge

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. const int maxn=3e5+10;
  4. int a[maxn],b[maxn];
  5. int main(){
  6. int n,h;
  7. scanf("%d%d",&n,&h);
  8. for(int i=1;i<=n;i++){
  9. scanf("%d",&a[i]);
  10. }
  11. int ans;
  12. for(int i=n;i>0;i--){
  13. int x=h;
  14. for(int j=1;j<=n;j++){
  15. b[j]=a[j];
  16. }
  17. sort(b+1,b+1+i);
  18. /*for(int j=1;j<=i;j++){
  19. printf("b[%d]=%d\n",j,b[j]);
  20. }*/
  21. int j;
  22. for(j=i;j>0;j-=2){
  23. if(b[j]<=x){
  24. x-=b[j];
  25. //printf("j=%d,x=%d\n",j,x);
  26. }else break;
  27. }
  28. if(j<=0){
  29. ans=i;
  30. break;
  31. }
  32. }
  33. printf("%d\n",ans);
  34. return 0;
  35. }

C. Ramesses and Corner Inversion

就这么个题还做不出来,/无奈

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. const int maxn=510;
  4. int a[maxn][maxn],b[maxn][maxn];
  5. int main(){
  6. int n,m;
  7. scanf("%d%d",&n,&m);
  8. for(int i=0;i<n;i++){
  9. for(int j=0;j<m;j++){
  10. scanf("%d",&a[i][j]);
  11. }
  12. }
  13. for(int i=0;i<n;i++){
  14. for(int j=0;j<m;j++){
  15. scanf("%d",&b[i][j]);
  16. }
  17. }
  18. for(int i=0;i<n;i++){
  19. for(int j=0;j<m;j++){
  20. if(a[i][j]!=b[i][j]){
  21. if(i==n-1||j==m-1){
  22. printf("No\n");
  23. return 0;
  24. }
  25. b[i][j]^=1;
  26. b[i][j+1]^=1;
  27. b[i+1][j]^=1;
  28. b[i+1][j+1]^=1;
  29. }
  30. }
  31. }
  32. printf("Yes\n");
  33. return 0;
  34. }

发表评论

表情:
评论列表 (有 0 条评论,202人围观)

还没有评论,来说两句吧...

相关阅读