给出五张牌,判断其是否是三张同一点数的牌加一对其他点数的牌

61 阅读1分钟

NYNUOJ学校oj

可能的情况有: 11122 11223(没有考虑到) 12345

错误代码 for(int i=0;i<15;i++){ if(a[i]==3||a[i]==2) flag++; }

喂gpt之后才知道错在哪,科技改变生活,我爱gpt

正确代码如下,第一次没有考虑到会出现两对相同的牌的情况

#include <iostream>
using namespace std;

int main()
{
	int a[15],x,f1=0,f2=0;
	for(int i=0;i<15;i++){
		a[i]=0;
	}
	for(int i=0;i<5;i++){
		cin>>x;
		a[x]++;
	}
	for(int i=0;i<15;i++){
		if(a[i]==3) f1++;
		if(a[i]==2) f2++;
	}
	if(f1==1&&f2==1) cout<<"Yes"<<endl;
	else cout<<"No";
	
	
    return 0;
}