码迷,mamicode.com
首页 > 其他好文 > 详细

hdu5228

时间:2015-05-16 23:16:48      阅读:156      评论:0      收藏:0      [点我收藏+]

标签:

bc41第一题

德州扑克的背景,给出五张牌,问最少要换多少张牌能凑齐同花顺

其实很水,数据量很小,随便暴力,越粗暴越好,然后我wa了一发因为没有看全题目,10\11\12\13\1也是一组同花顺```

总之就是虽然出的很快,但是wa一发的罚时还是不好受啊!!!

 

技术分享
 1 #include<stdio.h>
 2 #include<string.h>
 3 
 4 bool vis[5][15];
 5 char s[5];
 6 
 7 int main(){
 8     int T;
 9     while(scanf("%d",&T)!=EOF){
10         while(T--){
11             memset(vis,0,sizeof(vis));
12             int i;
13             for(i=1;i<=5;i++){
14                 scanf("%s",s);
15                 int t;
16                 if(strlen(s)==2){
17                     t=s[1]-0;
18                 }
19                 else if(strlen(s)==3){
20                     t=10+(s[2]-0);
21                 }
22                 if(s[0]==A){
23                     vis[1][t]=1;
24                 }
25                 if(s[0]==B){
26                     vis[2][t]=1;
27                 }
28                 if(s[0]==C){
29                     vis[3][t]=1;
30                 }
31                 if(s[0]==D){
32                     vis[4][t]=1;
33                 }
34             }
35             int j,k,ans=0;
36             for(i=1;i<=4;i++){
37                 for(j=1;j<=9;j++){
38                     int tmp=0;
39                     for(k=0;k<=4;k++){
40                         if(vis[i][j+k])tmp++;
41                     }
42                     if(tmp>ans)ans=tmp;
43                 }
44                 int tmp=0;
45                 for(j=10;j<=13;j++){
46                     if(vis[i][j])tmp++;
47                 }
48                 if(vis[i][1])tmp++;
49                 if(tmp>ans)ans=tmp;
50             }
51             
52             printf("%d\n",5-ans);
53         }
54     }
55     return 0;
56 }
View Code

 

hdu5228

标签:

原文地址:http://www.cnblogs.com/cenariusxz/p/4508842.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!