| Task: | Word Worries |
| Sender: | Olli |
| Submission time: | 2018-09-06 18:10:11 +0300 |
| Language: | C++ |
| Status: | READY |
| Result: | ACCEPTED |
| test | verdict | time | |
|---|---|---|---|
| #1 | ACCEPTED | 0.02 s | details |
| #2 | ACCEPTED | 0.01 s | details |
| #3 | ACCEPTED | 0.03 s | details |
| #4 | ACCEPTED | 0.03 s | details |
| #5 | ACCEPTED | 0.01 s | details |
| #6 | ACCEPTED | 0.01 s | details |
| #7 | ACCEPTED | 0.01 s | details |
| #8 | ACCEPTED | 0.03 s | details |
| #9 | ACCEPTED | 0.06 s | details |
| #10 | ACCEPTED | 0.07 s | details |
| #11 | ACCEPTED | 0.10 s | details |
| #12 | ACCEPTED | 0.09 s | details |
| #13 | ACCEPTED | 0.09 s | details |
| #14 | ACCEPTED | 0.10 s | details |
| #15 | ACCEPTED | 0.08 s | details |
| #16 | ACCEPTED | 0.06 s | details |
| #17 | ACCEPTED | 0.07 s | details |
| #18 | ACCEPTED | 0.09 s | details |
| #19 | ACCEPTED | 0.08 s | details |
| #20 | ACCEPTED | 0.07 s | details |
Compiler report
input/code.cpp: In function 'int comp(std::__cxx11::string, std::__cxx11::string)':
input/code.cpp:13:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for(int j = 0; j < a.length(); ++j) {
~~^~~~~~~~~~~~Code
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
const int N = 1e5 + 5;
vector<string> v;
int comp(string a, string b) {
for(int j = 0; j < a.length(); ++j) {
int k = (int) a[j];
int n = (int) b[j];
if(k < n) {
return 1;
} else if (k > n) {
return -1;
}
}
return 0;
}
int main() {
int n, m;
cin >> n >> m;
for(int i = 1; i <= n; ++i) {
string s;
cin >> s;
v.push_back(s);
}
sort(v.begin(), v.end());
int ans = 0;
int k = 0;
for(int i = 0; i < n; ++i) {
if(v[i] == v[0]) {
++ans;
k = i;
} else {
break;
}
}
string a = v[0];
for(int j = 0; j < m; ++j) {
if(a[j] != 'z') {
a[j] = 'z';
break;
}
}
for(int i = k + 1; i < n; ++i) {
//Check if v[i] can be first
if(k == 0) {
if(comp(a, v[i]) != 1) {
if(comp(v[i], v[k+1]) == 0) {
++ans;
continue;
}
}
}
string b = v[i];
for(int j = 0; j < m; ++j) {
if(b[j] != 'a') {
b[j] = 'a';
break;
}
}
if(comp(b, v[0]) != -1) {
++ans;
}
}
cout << ans << "\n";
}Test details
Test 1
Verdict: ACCEPTED
| input |
|---|
| 4 2 aa bb za zz |
| correct output |
|---|
| 3 |
| user output |
|---|
| 3 |
Test 2
Verdict: ACCEPTED
| input |
|---|
| 1 1 a |
| correct output |
|---|
| 1 |
| user output |
|---|
| 1 |
Test 3
Verdict: ACCEPTED
| input |
|---|
| 2 1 a a |
| correct output |
|---|
| 2 |
| user output |
|---|
| 2 |
Test 4
Verdict: ACCEPTED
| input |
|---|
| 3 10 aaaaaaaaaa aaaaaaaaab aaaaaaaabb |
| correct output |
|---|
| 2 |
| user output |
|---|
| 2 |
Test 5
Verdict: ACCEPTED
| input |
|---|
| 2 2 bb zz |
| correct output |
|---|
| 2 |
| user output |
|---|
| 2 |
Test 6
Verdict: ACCEPTED
| input |
|---|
| 26 1 a b c d ... |
| correct output |
|---|
| 26 |
| user output |
|---|
| 26 |
Test 7
Verdict: ACCEPTED
| input |
|---|
| 676 2 aa ab ac ad ... |
| correct output |
|---|
| 51 |
| user output |
|---|
| 51 |
Test 8
Verdict: ACCEPTED
| input |
|---|
| 17576 3 aaa aab aac aad ... |
| correct output |
|---|
| 76 |
| user output |
|---|
| 76 |
Test 9
Verdict: ACCEPTED
| input |
|---|
| 59049 10 aaaaaaaaaa aaaaaaaaab aaaaaaaaac aaaaaaaaba ... |
| correct output |
|---|
| 21 |
| user output |
|---|
| 21 |
Test 10
Verdict: ACCEPTED
| input |
|---|
| 100000 10 aaaaaaaaaa aaaaaaaaaa aaaaaaaaaa aaaaaaaaaa ... |
| correct output |
|---|
| 100000 |
| user output |
|---|
| 100000 |
Test 11
Verdict: ACCEPTED
| input |
|---|
| 100000 10 bbcacccbbb babccccaaa cacababbbc cabcbabbac ... |
| correct output |
|---|
| 33 |
| user output |
|---|
| 33 |
Test 12
Verdict: ACCEPTED
| input |
|---|
| 100000 10 bbbabacbbc baaabaccab caccbabacb caccbacaaa ... |
| correct output |
|---|
| 34 |
| user output |
|---|
| 34 |
Test 13
Verdict: ACCEPTED
| input |
|---|
| 100000 10 mounucjzsy zzdwsalxux itasczrpmj xyxuntyyuq ... |
| correct output |
|---|
| 3 |
| user output |
|---|
| 3 |
Test 14
Verdict: ACCEPTED
| input |
|---|
| 100000 10 poohklgguz poetpdbthy gtresaphti nkydtirzrl ... |
| correct output |
|---|
| 77 |
| user output |
|---|
| 77 |
Test 15
Verdict: ACCEPTED
| input |
|---|
| 100000 7 aaacaca bcabcbc accbccb bcaacbc ... |
| correct output |
|---|
| 685 |
| user output |
|---|
| 685 |
Test 16
Verdict: ACCEPTED
| input |
|---|
| 100000 1 h w e q ... |
| correct output |
|---|
| 100000 |
| user output |
|---|
| 100000 |
Test 17
Verdict: ACCEPTED
| input |
|---|
| 100000 2 li bf fl ji ... |
| correct output |
|---|
| 15836 |
| user output |
|---|
| 15836 |
Test 18
Verdict: ACCEPTED
| input |
|---|
| 100000 6 macdpa cfcobd eknabl dadhan ... |
| correct output |
|---|
| 61 |
| user output |
|---|
| 61 |
Test 19
Verdict: ACCEPTED
| input |
|---|
| 100000 4 bubq xvga owhf ciib ... |
| correct output |
|---|
| 19 |
| user output |
|---|
| 19 |
Test 20
Verdict: ACCEPTED
| input |
|---|
| 100000 4 vwvw wxxx vvvx wvxv ... |
| correct output |
|---|
| 100000 |
| user output |
|---|
| 100000 |
