[关闭]
@baobaobear 2020-05-28T09:45:38.000000Z 字数 3434 阅读 157

Contest 29

contest


A 1292224662

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. #define rep(i,a,n) for(int i=a;i<=n;i++)
  4. #define per(i,a,n) for(int i=n;i>=a;i--)
  5. #define pb push_back
  6. #define SZ(x) ((int)(x).size())
  7. typedef long long ll;
  8. typedef pair<int,int> pii;
  9. typedef double db;
  10. char s[210],t[210];
  11. int n;
  12. int main(){
  13. scanf("%s%s",s+1,t+1);
  14. n=strlen(s+1);
  15. rep(i,n+1,2*n){
  16. s[i]=s[i-n];
  17. }
  18. bool flag=0;
  19. rep(i,0,n-1){
  20. int tmp=1;
  21. rep(j,1,n){
  22. if(t[j]!=s[i+j]){
  23. tmp=0;
  24. break;
  25. }
  26. }
  27. if(tmp){
  28. flag=1;break;
  29. }
  30. }
  31. if(flag) puts("Yes");
  32. else puts("No");
  33. return 0;
  34. }

B 1292224662

  1. #include<iostream>
  2. #include<cstdio>
  3. using namespace std;
  4. #define rep(i,a,n) for(int i=a;i<=n;i++)
  5. #define per(i,a,n) for(int i=n;i>=a;i--)
  6. #define pb push_back
  7. #define SZ(x) ((int)(x).size())
  8. typedef long long ll;
  9. typedef pair<int,int> pii;
  10. typedef double db;
  11. int t,n;
  12. char s[110];
  13. int num[11];
  14. int main(){
  15. cin>>t;
  16. while(t--){
  17. cin>>n;
  18. scanf("%s",s+1);
  19. rep(i,0,9) num[i]=0;
  20. int mn=10;
  21. rep(i,1,n){
  22. num[s[i]-'0']++;
  23. if(s[i]!='0')
  24. mn=min(mn,s[i]-'0');
  25. }
  26. if(mn==10){
  27. puts("0");
  28. continue;
  29. }
  30. else{
  31. putchar('0'+mn);
  32. num[mn]--;
  33. rep(i,0,9){
  34. rep(j,1,num[i]){
  35. putchar('0'+i);
  36. }
  37. }puts("");
  38. }
  39. }
  40. return 0;
  41. }

C 1292224662

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. #define rep(i,a,n) for(int i=a;i<=n;i++)
  4. #define per(i,a,n) for(int i=n;i>=a;i--)
  5. #define pb push_back
  6. #define SZ(x) ((int)(x).size())
  7. typedef long long ll;
  8. typedef pair<int,int> pii;
  9. typedef double db;
  10. char s[1010],t[1010];
  11. int main(){
  12. scanf("%s%s",s+1,t+1);
  13. int n=strlen(s+1);
  14. int ans=0;
  15. rep(i,1,n){
  16. if(s[i]!=t[i]){
  17. if(i==n){
  18. puts("No Answer.");
  19. return 0;
  20. }
  21. ans++;
  22. s[i+1]='o'+'*'-s[i+1];
  23. }
  24. }
  25. printf("%d\n",ans);
  26. return 0;
  27. }

D 1292224662

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. #define rep(i,a,n) for(int i=a;i<=n;i++)
  4. #define per(i,a,n) for(int i=n;i>=a;i--)
  5. #define pb push_back
  6. #define SZ(x) ((int)(x).size())
  7. typedef long long ll;
  8. typedef pair<int,int> pii;
  9. typedef double db;
  10. int n;
  11. int a[1010],b[1010];
  12. int main(){
  13. cin>>n;
  14. rep(i,1,n) cin>>a[i];
  15. rep(i,1,n) cin>>b[i];
  16. sort(a+1,a+1+n);
  17. sort(b+1,b+1+n);
  18. int ans=0;
  19. for(int i=1,j=1;j<=n;j++){
  20. while(a[i]<=b[j]&&i<=n){
  21. i++;
  22. }
  23. if(i<=n){
  24. i++;ans++;
  25. }
  26. }
  27. printf("%d\n",ans);
  28. return 0;
  29. }

E tiandaochouqin

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. typedef long long ll;
  4. int main(){
  5. int len;
  6. string s;
  7. cin>>len>>s;
  8. ll cnt1=0,cnt2=0,cnt3=0,sum=0;
  9. for(int i=0;i<len;i++){//第一个条件
  10. if(s[i]=='R') sum+=cnt2*cnt3,cnt1++;
  11. if(s[i]=='G') sum+=cnt1*cnt3,cnt2++;
  12. if(s[i]=='B') sum+=cnt1*cnt2,cnt3++;
  13. }
  14. for(int i=0;i<len;i++)
  15. for(int j=i;j<len;j+=2)
  16. if(s[i]!=s[j]&&s[i]!=s[(i+j)/2]&&s[j]!=s[(i+j)/2]) sum--;//第二个条件
  17. printf("%lld\n",sum);
  18. }

F tiandaochouqin

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int main()
  4. {
  5. int n,k;
  6. double L,a,size;
  7. cin>>n>>k>>L;
  8. a=acos(-1)*(n-2)/n;
  9. size=L*(n-1);
  10. while(k--){
  11. size+=L/2,L/=2;
  12. L=sqrt((1-cos(a))*2*L*L);
  13. size+=(n-1)*L;
  14. }
  15. printf("%.7f\n",size);
  16. }

G

H tiandaochouqin

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. const int maxn=1e6+5;
  4. typedef unsigned int ll;
  5. inline int read() {
  6. int x = 0, f = 1; char c = getchar();
  7. while(c < '0' || c > '9') {if(c == '-') f = -1; c = getchar();}
  8. while(c >= '0' && c <= '9') {x = x * 10 + c - '0'; c = getchar();}
  9. return x * f;
  10. }
  11. ll cnt[maxn],a[maxn],b[maxn],c[maxn],d[maxn],num[maxn],sum[maxn],ans=0,last1[maxn],last2[maxn],Left,Right;
  12. int main()
  13. {
  14. int n=read();
  15. for(int i=1;i<=n;++i){
  16. cnt[i]=read();
  17. b[cnt[i]]++,d[cnt[i]]+=i;
  18. }
  19. for(int i=1;i<=n;++i)
  20. {
  21. a[cnt[i]]++;c[cnt[i]]+=i;
  22. Left-=last1[cnt[i]];
  23. last1[cnt[i]]=a[cnt[i]]*b[cnt[i]];
  24. Left+=last1[cnt[i]];
  25. Right-=last2[cnt[i]];
  26. last2[cnt[i]]=c[cnt[i]]*b[cnt[i]]+d[cnt[i]]*a[cnt[i]];
  27. Right+=last2[cnt[i]];
  28. ans+=2*i*cnt[i]*Left-cnt[i]*Right;
  29. b[cnt[i]]--;d[cnt[i]]-=i;
  30. Left-=last1[cnt[i]];
  31. last1[cnt[i]]=a[cnt[i]]*b[cnt[i]];
  32. Left+=last1[cnt[i]];
  33. Right-=last2[cnt[i]];
  34. last2[cnt[i]]=c[cnt[i]]*b[cnt[i]]+d[cnt[i]]*a[cnt[i]];
  35. Right+=last2[cnt[i]];
  36. }
  37. printf("%u\n", ans);
  38. }
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注