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
AC × 4
AC × 28
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