标签:操作 return for activity space 目的 har char ref
有一副牌(去掉大小王),分成13堆(有序的),每堆牌的牌种已经给出,现在进行以下操作
询问
模拟题,只提一个要点,就是1,3,4可以合并成一步操作,因为牌13正好与第13堆牌对应,这是题目的隐含条件,并非一定要照着以上步骤一个一个打,于是设初始摸到牌13,然后循环操作2,终止条件为第13堆牌没牌了,就不需要代码又臭又长了。
参考代码:
#include <iostream>
#include <cstdio>
#define il inline
#define ri register
using namespace std;
char to[257];
int p[14][5],lp[14],b[14];
il void get(char&);
int main(){char c;
for(int i(2);i<10;++i)to[i+48]=i;to['A']=1;
to['0']=10,to['J']=11,to['Q']=12,to['K']=13;
for(int i(1),j;i<=13;++i)
for(j=1,lp[i]=4;j<=4;++j)
get(c),p[i][j]=to[c];int q(13);
do q=p[q][lp[q]--],++b[q];while(lp[13]>=0);
int ans(0);for(int i(1);i<13;++i)if(b[i]==4)++ans;
printf("%d",ans);
return 0;
}
il void get(char &c){
while(c=getchar(),c==' '||c=='\n'||c=='\r');
}
标签:操作 return for activity space 目的 har char ref
原文地址:https://www.cnblogs.com/a1b3c7d9/p/11220823.html