Submission #301862
Source Code Expand
#include <bits/stdc++.h> using namespace std; int uf[32],used[32],eur[32]; int find(int a){ if(uf[a]<0) return a; uf[a]=find(uf[a]); return uf[a]; } void uni(int a,int b){ if(find(a)==find(b)) return; if(uf[find(a)]<uf[find(b)]){ uf[find(a)]=find(b); uf[find(b)]--; } else{ uf[find(b)]=find(a); uf[find(a)]--; } } int main(void){ for(int i=0;i<32;++i) uf[i]=-1; for(int i=0;i<32;++i) used[i]=0; int n; cin >> n; for(int i=0;i<n;++i){ string tmp; cin >> tmp; uni(tmp[0]-'a',tmp[tmp.size()-1]-'a'); used[tmp[0]-'a']++; used[tmp[tmp.size()-1]-'a']++; } for(int i=0;i<32;++i) eur[i]=0; for(int i=0;i<26;++i){ if(used[i]%2) eur[find(i)]++; } for(int i=0;i<32;++i) eur[i]/=2; for(int i=0;i<26;++i){ if(used[i]) eur[find(i)]=max(eur[find(i)],1); } int answer=-1; for(int i=0;i<26;++i){ answer+=eur[i]; } cout << answer << endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | H - しりとりゲーム |
User | siotouto |
Language | C++ (G++ 4.6.4) |
Score | 100 |
Code Size | 982 Byte |
Status | AC |
Exec Time | 198 ms |
Memory | 928 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 100 / 100 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | subtask0_sample_01.txt, subtask0_sample_02.txt, subtask0_sample_03.txt, subtask0_sample_04.txt |
All | subtask0_sample_01.txt, subtask0_sample_02.txt, subtask0_sample_03.txt, subtask0_sample_04.txt, subtask1_random01.txt, subtask1_random02.txt, subtask1_random03.txt, subtask1_random04.txt, subtask1_random05.txt, subtask1_random06.txt, subtask1_random07.txt, subtask1_random08.txt, subtask1_random09.txt, subtask1_random10.txt, subtask1_random11.txt, subtask1_random12.txt, subtask1_special01.txt, subtask1_special02.txt, subtask1_special03.txt, subtask1_special04.txt, subtask1_special05.txt, subtask1_special06.txt, subtask1_special07.txt, subtask1_special08.txt, subtask1_special09.txt, subtask1_special10.txt, subtask1_special11.txt, subtask1_special12.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
subtask0_sample_01.txt | AC | 22 ms | 924 KB |
subtask0_sample_02.txt | AC | 21 ms | 800 KB |
subtask0_sample_03.txt | AC | 23 ms | 808 KB |
subtask0_sample_04.txt | AC | 22 ms | 800 KB |
subtask1_random01.txt | AC | 23 ms | 804 KB |
subtask1_random02.txt | AC | 24 ms | 676 KB |
subtask1_random03.txt | AC | 24 ms | 864 KB |
subtask1_random04.txt | AC | 24 ms | 844 KB |
subtask1_random05.txt | AC | 22 ms | 700 KB |
subtask1_random06.txt | AC | 22 ms | 796 KB |
subtask1_random07.txt | AC | 24 ms | 804 KB |
subtask1_random08.txt | AC | 23 ms | 676 KB |
subtask1_random09.txt | AC | 179 ms | 808 KB |
subtask1_random10.txt | AC | 179 ms | 800 KB |
subtask1_random11.txt | AC | 178 ms | 800 KB |
subtask1_random12.txt | AC | 179 ms | 736 KB |
subtask1_special01.txt | AC | 21 ms | 796 KB |
subtask1_special02.txt | AC | 24 ms | 800 KB |
subtask1_special03.txt | AC | 24 ms | 800 KB |
subtask1_special04.txt | AC | 22 ms | 920 KB |
subtask1_special05.txt | AC | 198 ms | 800 KB |
subtask1_special06.txt | AC | 198 ms | 796 KB |
subtask1_special07.txt | AC | 22 ms | 852 KB |
subtask1_special08.txt | AC | 26 ms | 804 KB |
subtask1_special09.txt | AC | 23 ms | 788 KB |
subtask1_special10.txt | AC | 25 ms | 928 KB |
subtask1_special11.txt | AC | 23 ms | 800 KB |
subtask1_special12.txt | AC | 21 ms | 796 KB |