CSES - Datatähti 2020 alku - Results
Submission details
Task:Ruudukko
Sender:Uolevi
Submission time:2019-09-30 08:41:02 +0300
Language:C++11
Status:READY
Result:0
Feedback
groupverdictscore
#10
Test results
testverdicttime
#10.01 sdetails
#20.01 sdetails
#30.01 sdetails
#40.01 sdetails
#50.01 sdetails
#60.01 sdetails

Compiler report

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

Code

#include<bits/stdc++.h>
using namespace std;

long long n; // Kertoo stringien maaran
string stuff; // Inputin ottaessa kaytettava muuttuja
vector<string> alku; // Inputti tallennetaan tanne
string loppu[101010];
map<string,long long> juttu; // se mika kertoo parien maaran
int main(){
  cin >> n;
  for(long long i = 0; i < n; i++){
    cin >> stuff;
    alku.push_back(stuff);
  }
  for(auto u : alku){
    // Oikee stuffa alkaa
    string aak = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; // Taman avulla voidaan ḱuvata jutut
    map<char, char> ma = {}; // Tahan laitetaan itse kuvausten kohteet
    string muutettu = ""; // Tahan tulee stringi jolle on tehty kuvaus
    for(long long i = 0; i < u.size(); i++){
      if(ma.find(u[i]) == ma.end()){
        muutettu += aak[aak.size()-1];
        ma[u[i]] = aak[aak.size()-1];
        aak.pop_back();
      }else{
        muutettu += ma[u[i]];
      }
    }
    juttu[muutettu]++;
  }
  long long su = 0;
  for(auto u : juttu){
    su += ((u.second)*(u.second-1))/2;
  }
  cout << su << "\n";
}

Test details

Test 1

Verdict:

input
1

correct output

user output
0

Test 2

Verdict:

input
2

correct output
1 2 
2 1 

user output
1

Test 3

Verdict:

input
5

correct output
1 2 3 4 5 
2 1 4 3 6 
3 4 1 2 7 
4 3 2 1 8 
5 6 7 8 1 

user output
10

Test 4

Verdict:

input
42

correct output
1 2 3 4 5 6 7 8 9 10 11 12 13 ...

user output
861

Test 5

Verdict:

input
99

correct output
1 2 3 4 5 6 7 8 9 10 11 12 13 ...

user output
4851

Test 6

Verdict:

input
100

correct output
1 2 3 4 5 6 7 8 9 10 11 12 13 ...

user output
4950