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.
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 "YES" (without quotes), if he is able to press all the panels in perfect timing. If not, output "NO" (without quotes).
1 .135 1247 3468 5789
YES
5 ..1. 1111 ..1. ..1.
YES
1 .... 12.1 .2.. .2..
NO
题意是说,有个游戏,类似像今天的“节奏大师”,按照他的时间用手点,若是无法完成,就输出NO;能全部点完,就输出YES;
#include<iostream>
#include<string.h>
#include<stdio.h>
#include<ctype.h>
#include<algorithm>
#include<stack>
#include<queue>
#include<set>
#include<math.h>
#include<vector>
#include<map>
#include<deque>
#include<list>
using namespace std;
char a;
int b[18];
int main()
{
int k,f=1;
while(scanf("%d",&k)!=EOF)
{
memset(b,0,sizeof(b));
for(int i=0; i<4; i++)
for(int j=0; j<4; j++)
{
cin>>a;
if(a!='.')
b[a-'0']++;
}
for(int i=1; i<18; i++)
{
if(b[i]>2*k)
f=0;
}
if(f)
puts("YES");
else
puts("NO");
}
return 0;
}