ZCMU-1310-Collecting Beats is Fun

北慕城南 提交于 2020-01-03 00:03:30

Description

Cucumber boy is fan of Kyubeat, a famous music game.

Kyubeat has 16 panels for playing arranged in 4 × 4 table. When a panel lights up, he has to press that panel.

Each panel has a timing to press (the preffered time when a player should press it), and Cucumber boy is able to press at most k panels in a time with his one hand. Cucumber boy is trying to press all panels in perfect timing, that is he wants to press each panel exactly in its preffered time. If he cannot press the panels with his two hands in perfect timing, his challenge to press all the panels in perfect timing will fail.

You are given one scene of Kyubeat’s panel from the music Cucumber boy is trying. Tell him is he able to press all the panels in perfect timing.

Input

The first line contains a single integer k (1 ≤ k ≤ 5) — the number of panels Cucumber boy can press with his one hand.

Next 4 lines contain 4 characters each (digits from 1 to 9, or period) — table of panels. If a digit i was written on the panel, it means the boy has to press that panel in time i. If period was written on the panel, he doesn’t have to press that panel.

Output

Output “YES” (without quotes), if he is able to press all the panels in perfect timing. If not, output “NO” (without quotes).

Sample Input

1
.135
1247
3468
5789
5
…1.
1111
…1.
…1.
1

12.1
.2…
.2…

Sample Output

YES
YES
NO

思路就是统计1-9的个数,如果超过2k就输出NO,否则YES。

#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define mem(a) memset(a,0,sizeof(a))
#define N 1000000007
 
char s[5][5];
int f[14];
 
int main()
{
    int k;
    while(~scanf("%d", &k)){
        for(int i = 0; i < 4; i++) scanf("%s", s[i]);
        mem(f);
        for(int i = 0; i < 4; i++){
            for(int j = 0; j < 4; j++){
                if(isdigit(s[i][j])){
                    f[s[i][j]-'0']++;
                }
            }
        }
        int flag = 1;
        for(int i = 0; i < 10; i++){
            if(f[i]>2*k){
                flag = 0;
                break;
            }
        }
        if(flag){
            printf("YES\n");
        }else{
            printf("NO\n");
        }
    }
    return 0;
}
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!