Submission #156263

#TimeUsernameProblemLanguageResultExecution timeMemory
156263mdn2002Cezar (COCI16_cezar)C++14
0 / 100
1082 ms65536 KiB
#include<bits/stdc++.h> using namespace std; long long mod=1e9+7; string ss[105]; vector<string>v,an; vector<int>gr[1000004]; vector<char>ans; int n,d[1005],vis[1030]; bool dt[1030]; void dfs(int x) { ans.push_back('a'+(x-1)); dt[x-1]=true; vis[x]=1; for(int i=0; i<gr[x].size(); i++) { int u=gr[x][i]; if(vis[u]==1) { cout<<"NE"; exit(0); } else if(vis[u]==0)dfs(u); } vis[x]=2; } int main() { cin>>n; for(int i=0; i<n; i++) { string s; cin>>s; v.push_back(s); } for(int i=0; i<n; i++) { cin>>d[i]; ss[d[i]-1]=v[i]; } for(int i=0;i<n;i++)an.push_back(ss[i]); for(int i=0; i<n-1; i++) { for(int j=i+1; j<n; j++) { int x=0; while(an[i][x]==an[j][x]) { x++; if(x>=an[i].size()||x>=an[j].size()) { if(an[i].size()>an[j].size()) { cout<<"NE"; return 0; } break; } } if(x<an[i].size()&&x<an[j].size())gr[(an[i][x]-'a')+1].push_back((an[j][x]-'a')+1); } } dfs(an[0][0]-'a'+1); cout<<"DA"<<endl; for(int i=0;i<100000000;i++)cout<<"uut"; for(int i=0; i<26; i++) { if(dt[i]==false)ans.push_back('a'+i); } for(int i=0; i<26; i++) { cout<<ans[i]; } } /* 2 abc ab 1 2 */

Compilation message (stderr)

cezar.cpp: In function 'void dfs(int)':
cezar.cpp:15:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(int i=0; i<gr[x].size(); i++)
                  ~^~~~~~~~~~~~~
cezar.cpp: In function 'int main()':
cezar.cpp:50:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
                 if(x>=an[i].size()||x>=an[j].size())
                    ~^~~~~~~~~~~~~~
cezar.cpp:50:38: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
                 if(x>=an[i].size()||x>=an[j].size())
                                     ~^~~~~~~~~~~~~~
cezar.cpp:60:17: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
             if(x<an[i].size()&&x<an[j].size())gr[(an[i][x]-'a')+1].push_back((an[j][x]-'a')+1);
                ~^~~~~~~~~~~~~
cezar.cpp:60:33: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
             if(x<an[i].size()&&x<an[j].size())gr[(an[i][x]-'a')+1].push_back((an[j][x]-'a')+1);
                                ~^~~~~~~~~~~~~
#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...
#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...