Advertisement
brianchou

分組活動v2

Apr 19th, 2019
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.91 KB | None | 0 0
  1. #include<iostream>
  2. #include<cstring>
  3. #include<cctype>
  4. using namespace std;
  5.  
  6. int main(){
  7.     int color[110]={};//梅花(club)=1 方塊(diamond)=2 紅心(heart)=3 黑桃(spade)=4
  8.     int num[110]={};//A=1 J=11 Q=12 K=13
  9.     char kind[110]={};
  10.     int n;
  11.     //===========cin===========
  12.     cin>>n;
  13.     char club[]={"club"};
  14.     char diamond[]={"diamond"};
  15.     char heart[]={"heart"};
  16.     char spade[]={"spade"};
  17.    
  18.     for(int i=1;i<=n;i++){
  19.         char colortmp[20];
  20.         char numtmp[10];
  21.         cin>>kind[i]>>numtmp>>colortmp;
  22.         if(strcmp(colortmp,club)==0){
  23.             color[i]=1;
  24.         }
  25.         if(strcmp(colortmp,diamond)==0){
  26.             //cout<<"hi";
  27.             color[i]=2;
  28.         }
  29.         if(strcmp(colortmp,heart)==0){
  30.             color[i]=3;
  31.         }
  32.         if(strcmp(colortmp,spade)==0){
  33.             color[i]=4;
  34.         }
  35.        
  36.         if(numtmp[0]=='2'){
  37.         num[i]=2;
  38.         }
  39.         if(numtmp[0]=='3'){
  40.         num[i]=3;
  41.         }
  42.         if(numtmp[0]=='4'){
  43.         num[i]=4;
  44.         }
  45.         if(numtmp[0]=='5'){
  46.         num[i]=5;
  47.         }
  48.         if(numtmp[0]=='6'){
  49.         num[i]=6;
  50.         }
  51.         if(numtmp[0]=='7'){
  52.         num[i]=7;
  53.         }
  54.         if(numtmp[0]=='8'){
  55.         num[i]=8;
  56.         }
  57.         if(numtmp[0]=='9'){
  58.         num[i]=9;
  59.         }
  60.         if(numtmp[0]=='1'){
  61.         num[i]=10;
  62.         }
  63.        
  64.         if(numtmp[0]=='A'){
  65.         num[i]=1;
  66.         //cout<<"if a"<<endl;
  67.         }
  68.         if(numtmp[0]=='J'){
  69.             num[i]=11;
  70.         }
  71.         if(numtmp[0]=='Q'){
  72.             num[i]=12;
  73.         }
  74.         if(numtmp[0]=='K'){
  75.             num[i]=13;
  76.         }
  77.    
  78.         //cout<<(int)numtmp[0]<<endl;
  79.     }
  80.    
  81.    
  82.     /*/========test print==========
  83.     cout<<"kind[i]"<<endl;
  84.     for(int test=1;test<=n;test++){
  85.         cout<<kind[test]<<" ";
  86.     }
  87.     cout<<endl;
  88.     cout<<"num[i]"<<endl;
  89.     for(int test=1;test<=n;test++){
  90.         cout<<num[test]<<" ";
  91.     }
  92.     cout<<endl;
  93.     cout<<"color[]"<<endl;
  94.     for(int test=1;test<=n;test++){
  95.         cout<<color[test]<<" ";
  96.     }
  97.     cout<<endl;
  98.     *///==========test end==========
  99.     int result[110]={};
  100.     for(int i=1;i<=n;i++){
  101.         if(kind[i]=='A'){
  102.             result[i]=(((color[i]+2)*(num[i]+4))%8);
  103.         }
  104.         if(kind[i]=='B'){
  105.             result[i]=(((color[i]+1)*(num[i]+7))%8);
  106.         }
  107.         if(kind[i]=='C'){
  108.             result[i]=(((color[i]+3)*(num[i]+3))%8);
  109.         }
  110.     }
  111.    
  112.     /*/========test======
  113.     for(int test=1;test<=n;test++){//test
  114.         cout<<result[test]<<" ";
  115.     }
  116.     cout<<endl;
  117.     *///======test=======
  118.    
  119.    
  120.     int total[100]={};
  121.     for (int i=1;i<=n;i++){
  122.         int tmp=result[i];
  123.         total[tmp]+=1;
  124.     }
  125.    
  126.    
  127.     /*/==========test========
  128.     for(int test=0;test<=n;test++){//test
  129.         cout<<total[test]<<" ";
  130.     }
  131.     cout<<endl;
  132.     *///=====================
  133.    
  134.    
  135.  
  136.     int totalplus=0;//total 相加
  137.     for(int i=0;i<=10;i++){
  138.         if(total[i]>=2){
  139.             totalplus+=total[i];
  140.             //totalplus+=2;
  141.             //cout<<"totalplus+=1  "<<i<<endl;
  142.         }
  143.     }
  144.     //cout<<totalplus<<endl;
  145.     //cout<<(double)totalplus/(double)(n*(n-1))<<endl;
  146.     double ans=(double)totalplus/(double)(n*(n-1));
  147.    
  148.     ans=ans*100;
  149.     ans=(int)(ans+0.5);
  150.     cout<<(double)ans/100<<endl;
  151.  
  152. }
  153.  
  154.  
  155.  
  156.  
  157. /*
  158.  
  159. 8
  160. A A spade
  161. B 2 club
  162. C 5 diamond
  163. C J spade
  164. B 4 diamond
  165. C Q club
  166. A 10 heart
  167. B A club
  168.  
  169. 8
  170. A A spade
  171. B 8 club
  172. C 5 diamond
  173. C k spade
  174. B 3 diamond
  175. C Q spade
  176. A 10 heart
  177. B A heart
  178.  
  179.  
  180.  
  181.  
  182. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement