Submission #2321983
Source Code Expand
#include<cstdio> #include<cstdlib> #include<cstring> #include<cmath> #include<algorithm> #include<iostream> #define db double #define LL long long #define inf 0x3f3f3f3f #define N 100005 using namespace std; int gi() { int res=0,s=1; char ch; for(ch=getchar();(ch<'0'||ch>'9')&&ch!='-';ch=getchar()); if(ch=='-') s=-1,ch=getchar(); for(;ch>='0'&&ch<='9';ch=getchar()) res=res*10+ch-48; return res*s; } int n,key[N],fa[N],sum[N],flag; char s[N]; int findfa(int x) {return fa[x]==x?x:fa[x]=findfa(fa[x]);} int main() { scanf("%s",s+1); n=strlen(s+1); if(n&1) flag=1,n--; for(int i=1;i<=n/2;++i) key[i]=s[flag?(n+2-i):(n+1-i)]-s[i],fa[i]=i; fa[n/2+1]=n/2+1,key[n/2+1]=0; for(int i=n/2;i;--i) key[i]-=key[i-1]; for(int T=gi(),le,ri;T;--T) { le=gi(),ri=gi(); if(flag) { if(le>n/2+1) le--; if(ri>n/2) ri--; } if(le>ri) continue; if(le<=n/2 && ri>n/2) { if(n/2+1-le >= ri-n/2) ri=n-ri; else le=n+2-le; } if(le>ri) continue; if(le>n/2) le=n+1-le,ri=n+1-ri,swap(le,ri); ri++; if(findfa(le)!=findfa(ri)) fa[fa[le]]=fa[ri]; } findfa(n/2+1); for(int i=1;i<=n/2;++i) sum[findfa(i)]+=key[i]; for(int i=1;i<=n/2;++i) { if(fa[i]==fa[n/2+1]) continue; if(sum[fa[i]]%26) {puts("NO"); return 0;} } puts("YES"); return 0; }
Submission Info
Submission Time | |
---|---|
Task | E - Combination Lock |
User | bluestocking |
Language | C++14 (GCC 5.4.1) |
Score | 1000 |
Code Size | 1369 Byte |
Status | AC |
Exec Time | 16 ms |
Memory | 896 KB |
Compile Error
./Main.cpp: In function ‘int main()’: ./Main.cpp:25:20: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] scanf("%s",s+1); n=strlen(s+1); ^
Judge Result
Set Name | sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 1000 / 1000 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
sample | sample-01.txt, sample-02.txt, sample-03.txt |
All | sample-01.txt, sample-02.txt, sample-03.txt, 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt, 01-11.txt, 01-12.txt, 01-13.txt, 01-14.txt, 01-15.txt, 01-16.txt, 01-17.txt, 01-18.txt, 01-19.txt, 01-20.txt, 01-21.txt, 01-22.txt, 01-23.txt, 01-24.txt, 01-25.txt, 01-26.txt, 01-27.txt, 01-28.txt, 01-29.txt, 01-30.txt, 01-31.txt, 01-32.txt, 01-33.txt, 01-34.txt, 01-35.txt, 01-36.txt, 01-37.txt, 01-38.txt, 01-39.txt, 01-40.txt, 01-41.txt, 01-42.txt, 01-43.txt, 01-44.txt, 01-45.txt, 01-46.txt, 01-47.txt, 01-48.txt, 01-49.txt, 01-50.txt, 01-51.txt, 01-52.txt, 01-53.txt, 01-54.txt, 01-55.txt, 01-56.txt, 01-57.txt, 01-58.txt, 01-59.txt, 01-60.txt, sample-01.txt, sample-02.txt, sample-03.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
01-01.txt | AC | 9 ms | 256 KB |
01-02.txt | AC | 9 ms | 256 KB |
01-03.txt | AC | 11 ms | 256 KB |
01-04.txt | AC | 16 ms | 896 KB |
01-05.txt | AC | 9 ms | 256 KB |
01-06.txt | AC | 9 ms | 256 KB |
01-07.txt | AC | 9 ms | 256 KB |
01-08.txt | AC | 10 ms | 256 KB |
01-09.txt | AC | 10 ms | 256 KB |
01-10.txt | AC | 11 ms | 256 KB |
01-11.txt | AC | 11 ms | 384 KB |
01-12.txt | AC | 12 ms | 384 KB |
01-13.txt | AC | 13 ms | 384 KB |
01-14.txt | AC | 14 ms | 640 KB |
01-15.txt | AC | 15 ms | 768 KB |
01-16.txt | AC | 16 ms | 896 KB |
01-17.txt | AC | 16 ms | 896 KB |
01-18.txt | AC | 16 ms | 896 KB |
01-19.txt | AC | 16 ms | 896 KB |
01-20.txt | AC | 16 ms | 896 KB |
01-21.txt | AC | 16 ms | 896 KB |
01-22.txt | AC | 16 ms | 896 KB |
01-23.txt | AC | 16 ms | 896 KB |
01-24.txt | AC | 2 ms | 896 KB |
01-25.txt | AC | 2 ms | 896 KB |
01-26.txt | AC | 2 ms | 896 KB |
01-27.txt | AC | 2 ms | 896 KB |
01-28.txt | AC | 3 ms | 896 KB |
01-29.txt | AC | 9 ms | 256 KB |
01-30.txt | AC | 9 ms | 256 KB |
01-31.txt | AC | 9 ms | 256 KB |
01-32.txt | AC | 11 ms | 256 KB |
01-33.txt | AC | 11 ms | 384 KB |
01-34.txt | AC | 13 ms | 384 KB |
01-35.txt | AC | 14 ms | 640 KB |
01-36.txt | AC | 15 ms | 768 KB |
01-37.txt | AC | 15 ms | 896 KB |
01-38.txt | AC | 15 ms | 896 KB |
01-39.txt | AC | 16 ms | 896 KB |
01-40.txt | AC | 16 ms | 896 KB |
01-41.txt | AC | 16 ms | 896 KB |
01-42.txt | AC | 16 ms | 896 KB |
01-43.txt | AC | 15 ms | 896 KB |
01-44.txt | AC | 15 ms | 896 KB |
01-45.txt | AC | 16 ms | 896 KB |
01-46.txt | AC | 15 ms | 896 KB |
01-47.txt | AC | 15 ms | 896 KB |
01-48.txt | AC | 15 ms | 896 KB |
01-49.txt | AC | 15 ms | 896 KB |
01-50.txt | AC | 15 ms | 896 KB |
01-51.txt | AC | 2 ms | 896 KB |
01-52.txt | AC | 2 ms | 896 KB |
01-53.txt | AC | 2 ms | 896 KB |
01-54.txt | AC | 2 ms | 896 KB |
01-55.txt | AC | 3 ms | 896 KB |
01-56.txt | AC | 7 ms | 896 KB |
01-57.txt | AC | 7 ms | 896 KB |
01-58.txt | AC | 7 ms | 896 KB |
01-59.txt | AC | 7 ms | 896 KB |
01-60.txt | AC | 7 ms | 896 KB |
sample-01.txt | AC | 1 ms | 256 KB |
sample-02.txt | AC | 1 ms | 256 KB |
sample-03.txt | AC | 1 ms | 256 KB |