제출 #1066167

#제출 시각아이디문제언어결과실행 시간메모리
1066167NemanjaSo2005Tricolor Lights (JOI24_tricolor)C++17
40 / 100
99 ms4332 KiB
#include "Anna.h" #include<bits/stdc++.h> #define ll long long using namespace std; char diff(char a,char b){ if(a!='R' and b!='R') return 'R'; if(a!='G' and b!='G') return 'G'; if(a!='B' and b!='B') return 'B'; } vector<int> convert(int x){ vector<int> r; for(int i=18;i>=0;i--) if(x&(1<<i)) r.push_back(1); else r.push_back(0); return r; } pair<string, int> anna(int n, string s) { string T; int N=n; string S=s; for(int i=0;i<N;i++) if(S[i]=='R') T.push_back('G'); else T.push_back('R'); if(N<=100) return {T,N}; int pok=0; int len=50; while(true){ if(pok+len>N) break; int poz=pok+2; T[pok]=T[pok+1]=diff(S[pok],S[pok+1]); for(int i=pok+2;i<=pok+6;i++) T[i]=diff(T[i-1],S[i]); pok+=7; if(s[pok]!=T[pok-1]){ T[pok]=T[pok-1]; pok++; } else{ T[pok]=T[pok+1]=diff(S[pok],S[pok+1]); pok+=2; } vector<int> sta=convert(pok); /* cout<<"CONVERT "<<poz<<endl; for(int x:sta) cout<<x<<" "; cout<<endl;*/ // cerr<<"POCINJEM PISANJE NA "<<pok<<endl; for(int i=0;i<sta.size();i++){ if(sta[i]==1){ //cout<<"ISTI NA "<<pok<<" "<<pok+1<<endl; T[pok]=T[pok+1]=diff(S[pok],S[pok+1]); pok+=2; continue; } if(i==sta.size()-1){ T[pok]=diff(S[pok],S[pok]); T[pok+1]=diff(S[pok+1],T[pok]); pok+=2; continue; } if(sta[i+1]==1){ T[pok]=diff(S[pok],S[pok]); T[pok+1]=diff(S[pok+1],T[pok]); pok+=2; continue; } T[pok+1]=T[pok+2]=diff(S[pok+1],S[pok+2]); T[pok]=diff(S[pok],T[pok+1]); T[pok+3]=diff(S[pok+3],T[pok+2]); pok+=4; i++; } } return {T,100}; }
#include "Anna.h" #include<bits/stdc++.h> #define ll long long using namespace std; namespace { int N,L; }; void init(int n, int l) { ::N=n; ::L=l; } int findbegin(string s){ for(int i=0;i<s.size();i++){ string a=s.substr(i,6); bool dob=true; for(int j=1;j<a.size();j++) if(a[j]==a[j-1]) dob=false; if(dob) return i; } } int citaj(string s){ int r=0; for(int i=0;i<s.size();i+=2){ r*=2; if(s[i]==s[i+1]) r++; } return r; } int bruno(string s){ if(::N == ::L) return 1; // cout<<s<<endl; int poc=findbegin(s); // cout<<op<<endl; while(s[poc]!=s[poc+1]) poc++; poc+=2; //cout<<s.substr(poc,38)<<endl; int p=citaj(s.substr(poc,38)); // cout<<poc<<" "<<p<<endl; return p-poc+1; }

컴파일 시 표준 에러 (stderr) 메시지

Anna.cpp: In function 'std::pair<std::__cxx11::basic_string<char>, int> anna(int, std::string)':
Anna.cpp:58:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   58 |       for(int i=0;i<sta.size();i++){
      |                   ~^~~~~~~~~~~
Anna.cpp:65:14: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   65 |          if(i==sta.size()-1){
      |             ~^~~~~~~~~~~~~~
Anna.cpp:38:11: warning: unused variable 'poz' [-Wunused-variable]
   38 |       int poz=pok+2;
      |           ^~~
Anna.cpp: In function 'char diff(char, char)':
Anna.cpp:12:1: warning: control reaches end of non-void function [-Wreturn-type]
   12 | }
      | ^

Bruno.cpp: In function 'int findbegin(std::string)':
Bruno.cpp:13:17: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   13 |    for(int i=0;i<s.size();i++){
      |                ~^~~~~~~~~
Bruno.cpp:16:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   16 |       for(int j=1;j<a.size();j++)
      |                   ~^~~~~~~~~
Bruno.cpp: In function 'int citaj(std::string)':
Bruno.cpp:25:17: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   25 |    for(int i=0;i<s.size();i+=2){
      |                ~^~~~~~~~~
Bruno.cpp: In function 'int findbegin(std::string)':
Bruno.cpp:22:1: warning: control reaches end of non-void function [-Wreturn-type]
   22 | }
      | ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...