Submission #1158617
Source Code Expand
#include <vector> #include <list> #include <map> #include <set> #include <deque> #include <queue> #include <stack> #include <bitset> #include <algorithm> #include <functional> #include <numeric> #include <utility> #include <sstream> #include <iostream> #include <iomanip> #include <cstdio> #include <cmath> #include <cstdlib> #include <cctype> #include <string> #include <cstring> #include <ctime> using namespace std; #define _int64 long long char s[510000]; int a[1000000]; char ans[510000]; int main() { vector<int> a; int i,j,n,k,f,jian,h,t,need; scanf("%d%d",&n,&k); scanf("%s",s); if (n==1) { if (k%2==1) s[0]='A'+'B'-s[0]; printf("%s\n",s); return 0; } s[n]='B'; for (i=1;i<n;i++) s[n+i]='A'+'B'-s[n+i-1]; ans[n]='\0'; for (i=0;i<n;i++) { if (i==0) { if (s[0]=='A') need=2; else need=1; } else { if (s[i]==s[i+n-1]) { need=2; } else need=1; } if (k>=need) k-=need; else { for (j=0;j<n;j++) if ((i==0)||(s[i+n-1]=='A')) ans[j]=s[i+j]; else ans[j]='A'+'B'-s[i+j]; if (k==1) ans[0]='A'+'B'-ans[0]; printf("%s\n",ans); return 0; } } if ((s[n]==s[n+n-1])&&(k%2!=0)) { for (j=0;j<n;j++) if (s[n+n-1]=='A') ans[j]=s[n+j]; else ans[j]='A'+'B'-s[n+j]; ans[0]='B'; printf("%s\n",ans); } else { for (j=0;j<n;j++) if (s[n+n-1]=='A') ans[j]=s[n+j]; else ans[j]='A'+'B'-s[n+j]; printf("%s\n",ans); } /* for (i=0;i<k;i++) { j=0;f=1; while ((j>=0)&&(j<n)) { if (s[j]=='A') { s[j]='B';f=-f; j+=f; } else { s[j]='A'; j+=f; } } printf("%s\n",s); } */ return 0; }
Submission Info
Submission Time | |
---|---|
Task | D - Half Reflector |
User | liympanda |
Language | C++14 (GCC 5.4.1) |
Score | 900 |
Code Size | 1936 Byte |
Status | AC |
Exec Time | 3 ms |
Memory | 1024 KB |
Compile Error
./Main.cpp: In function ‘int main()’: ./Main.cpp:36:22: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] scanf("%d%d",&n,&k); ^ ./Main.cpp:37:16: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] scanf("%s",s); ^
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 900 / 900 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | sample1.txt, sample2.txt, sample3.txt |
All | sample1.txt, sample2.txt, sample3.txt, in1.txt, in10.txt, in11.txt, in12.txt, in13.txt, in14.txt, in15.txt, in16.txt, in17.txt, in18.txt, in19.txt, in2.txt, in20.txt, in21.txt, in22.txt, in23.txt, in24.txt, in25.txt, in26.txt, in27.txt, in28.txt, in29.txt, in3.txt, in30.txt, in31.txt, in32.txt, in33.txt, in34.txt, in35.txt, in36.txt, in37.txt, in38.txt, in39.txt, in4.txt, in40.txt, in41.txt, in42.txt, in5.txt, in543.txt, in557.txt, in6.txt, in7.txt, in8.txt, in9.txt, sample1.txt, sample2.txt, sample3.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
in1.txt | AC | 1 ms | 256 KB |
in10.txt | AC | 3 ms | 1024 KB |
in11.txt | AC | 3 ms | 1024 KB |
in12.txt | AC | 3 ms | 1024 KB |
in13.txt | AC | 3 ms | 1024 KB |
in14.txt | AC | 3 ms | 1024 KB |
in15.txt | AC | 3 ms | 1024 KB |
in16.txt | AC | 3 ms | 1024 KB |
in17.txt | AC | 3 ms | 1024 KB |
in18.txt | AC | 3 ms | 1024 KB |
in19.txt | AC | 3 ms | 1024 KB |
in2.txt | AC | 2 ms | 640 KB |
in20.txt | AC | 3 ms | 1024 KB |
in21.txt | AC | 3 ms | 1024 KB |
in22.txt | AC | 3 ms | 1024 KB |
in23.txt | AC | 3 ms | 1024 KB |
in24.txt | AC | 3 ms | 1024 KB |
in25.txt | AC | 3 ms | 1024 KB |
in26.txt | AC | 3 ms | 1024 KB |
in27.txt | AC | 3 ms | 1024 KB |
in28.txt | AC | 3 ms | 1024 KB |
in29.txt | AC | 3 ms | 1024 KB |
in3.txt | AC | 3 ms | 1024 KB |
in30.txt | AC | 3 ms | 1024 KB |
in31.txt | AC | 3 ms | 1024 KB |
in32.txt | AC | 3 ms | 1024 KB |
in33.txt | AC | 3 ms | 1024 KB |
in34.txt | AC | 3 ms | 1024 KB |
in35.txt | AC | 3 ms | 1024 KB |
in36.txt | AC | 3 ms | 1024 KB |
in37.txt | AC | 3 ms | 1024 KB |
in38.txt | AC | 3 ms | 1024 KB |
in39.txt | AC | 3 ms | 1024 KB |
in4.txt | AC | 3 ms | 1024 KB |
in40.txt | AC | 3 ms | 1024 KB |
in41.txt | AC | 3 ms | 1024 KB |
in42.txt | AC | 3 ms | 1024 KB |
in5.txt | AC | 3 ms | 1024 KB |
in543.txt | AC | 3 ms | 1024 KB |
in557.txt | AC | 3 ms | 1024 KB |
in6.txt | AC | 1 ms | 256 KB |
in7.txt | AC | 3 ms | 1024 KB |
in8.txt | AC | 3 ms | 1024 KB |
in9.txt | AC | 3 ms | 1024 KB |
sample1.txt | AC | 1 ms | 256 KB |
sample2.txt | AC | 1 ms | 256 KB |
sample3.txt | AC | 1 ms | 256 KB |