CSES - Datatähti 2021 alku - Results
Submission details
Task:Sanalista
Sender:Skye
Submission time:2020-09-30 16:27:38 +0300
Language:C++ (C++11)
Status:READY
Result:100
Feedback
groupverdictscore
#1ACCEPTED100
Test results
testverdicttime
#1ACCEPTED0.01 sdetails
#2ACCEPTED0.01 sdetails
#3ACCEPTED0.01 sdetails

Compiler report

input/code.cpp: In function 'int main()':
input/code.cpp:51:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
    for (int i = 0; i < chrs.size(); i++) {
                    ~~^~~~~~~~~~~~~

Code

#include <iostream>
#include <istream>
#include <list>
#include <unordered_map>
#include <string>

using namespace std;

bool check_key(unordered_map<char, int> um, char key) {
	if (um.find(key) == um.end())
		return false;

	return true;
}

int main() {
	int amountOfStrings;
	string stringInput;

	cin >> amountOfStrings;

	list<string> stringList = {};

	for (int i = 0; i < amountOfStrings; i++) {
		cin >> stringInput;
		stringList.push_back(stringInput);
	}
	
	unordered_map<char, int> chrs = {};
	int valueBefore;
	bool success;
	int xcounter = 0;

	for (string s : stringList) {
		chrs.clear();
		success = true;

		for (char c : s) {
			if (check_key(chrs, c)) {
				auto it = chrs.find(c);
				valueBefore = it->second;
				chrs.erase(c);
				chrs.insert({ c, valueBefore + 1 });
			}
			else {
				chrs.insert({ c, 1 });
			}
		}

		for (pair<char, int> e : chrs) {
			for (int i = 0; i < chrs.size(); i++) {
				if ((e.second % 2) == 0) {
					continue;
				}
				else {
					success = false;
					break;
				}
			}
		}

		if (success) {
			xcounter++;
		}
	}

	cout << xcounter << endl;

}

Test details

Test 1

Verdict: ACCEPTED

input
1000
korvata
sopimusaika
nuhatartunta
korttiautomaatti
...

correct output
15

user output
15

Test 2

Verdict: ACCEPTED

input
1000
pub
hansikaslokero
erikoisvalmisteinen
unijukka
...

correct output
42

user output
42

Test 3

Verdict: ACCEPTED

input
1000
haapalastu
toipumisaika
mustalaiskieli
taidelainaamo
...

correct output
70

user output
70