Submission #28308

#TimeUsernameProblemLanguageResultExecution timeMemory
28308xhae (#68)Play Onwards (FXCUP2_onward)C++14
0 / 1
26 ms2020 KiB
#include <iostream> #include <string> #include <vector> using namespace std; int main(void) { int n, m; cin >> n >> m; string str[300]; for(int i = 0; i < n; i++) cin >> str[i]; vector<int> a, b, ans(n, 0); a.push_back(0); ans[0] = 1; for(int i = 1; i < n; i++) { bool isValid = true; for(int j = 0; j <= (int)str[i].size() - m; j++) { string sub = str[i].substr(j, m); for(int ind: a) { for(int k = 0; k <= (int)str[ind].size() - m; k++) { if(str[ind].substr(k, m) == sub) { isValid = false; break; } } if(!isValid) break; } if(!isValid) break; } if(isValid) { a.push_back(i); ans[i] = 1; } else { b.push_back(i); ans[i] = 2; } } if(b.size() == 0) { a.pop_back(); b.push_back(n - 1); ans[n - 1] = 2; } bool isValid = true; for(int i = 0; i < b.size() && isValid; i++) { for(int j = 0; j <= (int)str[b[i]].size() - m && isValid; j++) { string sub = str[b[i]].substr(j, m); for(int k = i + 1; k < b.size() && isValid; k++) { for(int q = 0; q <= str[b[k]].size() - m && isValid; q++) { if(str[b[k]].substr(q, m) == sub) isValid = false; } } } } if(isValid) { cout << "Yes\n"; for(int v: ans) cout << v << "\n"; } else cout << "No\n"; return 0; }

Compilation message (stderr)

onward.cpp: In function 'int main()':
onward.cpp:37:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int i = 0; i < b.size() && isValid; i++) {
                   ^
onward.cpp:40:25: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
    for(int k = i + 1; k < b.size() && isValid; k++) {
                         ^
onward.cpp:41:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(int q = 0; q <= str[b[k]].size() - m && isValid; q++) {
                      ^
#Verdict Execution timeMemoryGrader output
Fetching results...