题解:P14758 役满之泪

· · 题解

思路:

这道题需要分类讨论!!!

  1. 已经有牌的数量大于等于 2 了。
  2. 没有牌的数量大于等于 2

对于条件 1,输出的结果是 13 个数中数字 0 的个数。

对于条件 2,输出的结果是 13 个数中数字 0 的个数加一,因为要把一种牌的数量变得大于等于 2

代码:

#include<bits/stdc++.h>
using namespace std;
int a[15];
int flag=0;
int cnt=0;
int main()
{
    for(int i=1;i<=13;i++){
        cin>>a[i];
        if(a[i]>=2){
            flag=1;
        }
        if(a[i]==0){
            cnt++;
        }
    }
    if(flag){
        cout<<cnt;
    }
    else{
        cout<<cnt+1;
    }
    return 0;
}