@baobaobear
2020-05-28T09:45:38.000000Z
字数 3434
阅读 157
contest
#include<bits/stdc++.h>
using namespace std;
#define rep(i,a,n) for(int i=a;i<=n;i++)
#define per(i,a,n) for(int i=n;i>=a;i--)
#define pb push_back
#define SZ(x) ((int)(x).size())
typedef long long ll;
typedef pair<int,int> pii;
typedef double db;
char s[210],t[210];
int n;
int main(){
scanf("%s%s",s+1,t+1);
n=strlen(s+1);
rep(i,n+1,2*n){
s[i]=s[i-n];
}
bool flag=0;
rep(i,0,n-1){
int tmp=1;
rep(j,1,n){
if(t[j]!=s[i+j]){
tmp=0;
break;
}
}
if(tmp){
flag=1;break;
}
}
if(flag) puts("Yes");
else puts("No");
return 0;
}
#include<iostream>
#include<cstdio>
using namespace std;
#define rep(i,a,n) for(int i=a;i<=n;i++)
#define per(i,a,n) for(int i=n;i>=a;i--)
#define pb push_back
#define SZ(x) ((int)(x).size())
typedef long long ll;
typedef pair<int,int> pii;
typedef double db;
int t,n;
char s[110];
int num[11];
int main(){
cin>>t;
while(t--){
cin>>n;
scanf("%s",s+1);
rep(i,0,9) num[i]=0;
int mn=10;
rep(i,1,n){
num[s[i]-'0']++;
if(s[i]!='0')
mn=min(mn,s[i]-'0');
}
if(mn==10){
puts("0");
continue;
}
else{
putchar('0'+mn);
num[mn]--;
rep(i,0,9){
rep(j,1,num[i]){
putchar('0'+i);
}
}puts("");
}
}
return 0;
}
#include<bits/stdc++.h>
using namespace std;
#define rep(i,a,n) for(int i=a;i<=n;i++)
#define per(i,a,n) for(int i=n;i>=a;i--)
#define pb push_back
#define SZ(x) ((int)(x).size())
typedef long long ll;
typedef pair<int,int> pii;
typedef double db;
char s[1010],t[1010];
int main(){
scanf("%s%s",s+1,t+1);
int n=strlen(s+1);
int ans=0;
rep(i,1,n){
if(s[i]!=t[i]){
if(i==n){
puts("No Answer.");
return 0;
}
ans++;
s[i+1]='o'+'*'-s[i+1];
}
}
printf("%d\n",ans);
return 0;
}
#include<bits/stdc++.h>
using namespace std;
#define rep(i,a,n) for(int i=a;i<=n;i++)
#define per(i,a,n) for(int i=n;i>=a;i--)
#define pb push_back
#define SZ(x) ((int)(x).size())
typedef long long ll;
typedef pair<int,int> pii;
typedef double db;
int n;
int a[1010],b[1010];
int main(){
cin>>n;
rep(i,1,n) cin>>a[i];
rep(i,1,n) cin>>b[i];
sort(a+1,a+1+n);
sort(b+1,b+1+n);
int ans=0;
for(int i=1,j=1;j<=n;j++){
while(a[i]<=b[j]&&i<=n){
i++;
}
if(i<=n){
i++;ans++;
}
}
printf("%d\n",ans);
return 0;
}
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int main(){
int len;
string s;
cin>>len>>s;
ll cnt1=0,cnt2=0,cnt3=0,sum=0;
for(int i=0;i<len;i++){//第一个条件
if(s[i]=='R') sum+=cnt2*cnt3,cnt1++;
if(s[i]=='G') sum+=cnt1*cnt3,cnt2++;
if(s[i]=='B') sum+=cnt1*cnt2,cnt3++;
}
for(int i=0;i<len;i++)
for(int j=i;j<len;j+=2)
if(s[i]!=s[j]&&s[i]!=s[(i+j)/2]&&s[j]!=s[(i+j)/2]) sum--;//第二个条件
printf("%lld\n",sum);
}
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,k;
double L,a,size;
cin>>n>>k>>L;
a=acos(-1)*(n-2)/n;
size=L*(n-1);
while(k--){
size+=L/2,L/=2;
L=sqrt((1-cos(a))*2*L*L);
size+=(n-1)*L;
}
printf("%.7f\n",size);
}
#include<bits/stdc++.h>
using namespace std;
const int maxn=1e6+5;
typedef unsigned int ll;
inline int read() {
int x = 0, f = 1; char c = getchar();
while(c < '0' || c > '9') {if(c == '-') f = -1; c = getchar();}
while(c >= '0' && c <= '9') {x = x * 10 + c - '0'; c = getchar();}
return x * f;
}
ll cnt[maxn],a[maxn],b[maxn],c[maxn],d[maxn],num[maxn],sum[maxn],ans=0,last1[maxn],last2[maxn],Left,Right;
int main()
{
int n=read();
for(int i=1;i<=n;++i){
cnt[i]=read();
b[cnt[i]]++,d[cnt[i]]+=i;
}
for(int i=1;i<=n;++i)
{
a[cnt[i]]++;c[cnt[i]]+=i;
Left-=last1[cnt[i]];
last1[cnt[i]]=a[cnt[i]]*b[cnt[i]];
Left+=last1[cnt[i]];
Right-=last2[cnt[i]];
last2[cnt[i]]=c[cnt[i]]*b[cnt[i]]+d[cnt[i]]*a[cnt[i]];
Right+=last2[cnt[i]];
ans+=2*i*cnt[i]*Left-cnt[i]*Right;
b[cnt[i]]--;d[cnt[i]]-=i;
Left-=last1[cnt[i]];
last1[cnt[i]]=a[cnt[i]]*b[cnt[i]];
Left+=last1[cnt[i]];
Right-=last2[cnt[i]];
last2[cnt[i]]=c[cnt[i]]*b[cnt[i]]+d[cnt[i]]*a[cnt[i]];
Right+=last2[cnt[i]];
}
printf("%u\n", ans);
}