fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. int main(){
  5. int t;
  6. scanf("%d",&t);
  7. vector<string> g[t+3];
  8. for(int i=0;i<t;++i){
  9. for(int j=0;j<3;++j){
  10. string s;
  11. cin>>s;
  12. g[i].push_back(s);
  13. }
  14. }
  15.  
  16. int res = 0;
  17.  
  18. for(int i=1;i<=1<<t;++i){
  19. int temp=0;
  20. unordered_set<string> st;
  21. for(int j=0;j<t;++j){
  22. if(i&(1<<j)){
  23. if(st.find(g[j][0])!=st.end()){
  24. break;
  25. } else {
  26. st.insert(g[j][0]);
  27. }
  28. if(st.find(g[j][1])!=st.end()){
  29. break;
  30. } else {
  31. st.insert(g[j][1]);
  32. }
  33. if(st.find(g[j][2])!=st.end()){
  34. break;
  35. } else {
  36. st.insert(g[j][2]);
  37. }
  38. ++temp;
  39. res=max(res,temp);
  40. }
  41. }
  42. }
  43.  
  44. printf("%d\n",res);
  45. }
Success #stdin #stdout 0s 16064KB
stdin
7
gerostratos scorpio shamgshamg
zaitsev silverberg cousteau
zaitsev petersen shamgshamg
clipper petersen shamgshamg
clipper bakirelli vasiliadi
silverberg atn dolly
knuth dijkstra bellman
stdout
4