A. Collecting Beats is Fun
2013-12-15 09:58
309 查看
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output
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 test(s)
input
output
input
output
input
output
Note
In the third sample boy cannot press all panels in perfect timing. He can press all the panels in timing in time 1, but he cannot press the panels in time 2 in timing with his two hands.
解题说明:此题其实是在一个棋盘上统计1-9数字出现的次数,如果每个数出现的次数都小于2k那么就输出yes,否则输出no。
#include<iostream>
#include<cstdio>
#include<cmath>
#include<algorithm>
#include<cstdlib>
#include<cstring>
using namespace std;
int main()
{
int k,i,a[10]={0};
char s[5];
scanf("%d",&k);
k=k*2;
for(i=0;i<4;i++)
{
scanf("%s",s);
if(s[0]!='.')
{
a[s[0]-'0']++;
}
if(s[1]!='.')
{
a[s[1]-'0']++;
}
if(s[2]!='.')
{
a[s[2]-'0']++;
}
if(s[3]!='.')
{
a[s[3]-'0']++;
}
}
for(i=0;i<10;i++)
{
if(a[i]>k)
{
printf("NO\n");
return 0;
}
}
printf("YES\n");
return 0;
}
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output
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 test(s)
input
1 .135 1247 3468 5789
output
YES
input
5 ..1. 1111 ..1. ..1.
output
YES
input
1 .... 12.1 .2.. .2..
output
NO
Note
In the third sample boy cannot press all panels in perfect timing. He can press all the panels in timing in time 1, but he cannot press the panels in time 2 in timing with his two hands.
解题说明:此题其实是在一个棋盘上统计1-9数字出现的次数,如果每个数出现的次数都小于2k那么就输出yes,否则输出no。
#include<iostream>
#include<cstdio>
#include<cmath>
#include<algorithm>
#include<cstdlib>
#include<cstring>
using namespace std;
int main()
{
int k,i,a[10]={0};
char s[5];
scanf("%d",&k);
k=k*2;
for(i=0;i<4;i++)
{
scanf("%s",s);
if(s[0]!='.')
{
a[s[0]-'0']++;
}
if(s[1]!='.')
{
a[s[1]-'0']++;
}
if(s[2]!='.')
{
a[s[2]-'0']++;
}
if(s[3]!='.')
{
a[s[3]-'0']++;
}
}
for(i=0;i<10;i++)
{
if(a[i]>k)
{
printf("NO\n");
return 0;
}
}
printf("YES\n");
return 0;
}
相关文章推荐
- Codeforces Round #219 (Div. 2)A. Collecting Beats is Fun
- 【CodeForces】[372A]Counting Kangaroos is Fun
- 20 Funny Commands of Linux or Linux is Fun in Terminal
- codeforces #373 C.Counting Kangaroos is Fun
- Codeforces Round #219 (Div. 1) A. Counting Kangaroos is Fun
- Codeforces Round #219 (Div. 2) E. Watching Fireworks is Fun
- CodeForces 372 A. Counting Kangaroos is Fun
- cf B. Making Sequences is Fun
- Programming is fun
- CF373C-Counting Kangaroos is Fun
- we are experimenting with a new init system and it is fun
- A. Counting Kangaroos is Fun----暴力
- Codeforces Round #219 (Div. 2)--C. Counting Kangaroos is Fun
- SPOJ 422 Transposing is Even More Fun(polay计数)
- codeforces 372B B. Counting Rectangles is Fun(暴力)
- Codeforces 373C:Counting Kangaroos is Fun(二分+贪心)
- B. Counting Rectangles is Fun----dp
- CodeForces 372b_Counting Rectangles is Fun_dp(暴力)
- python 状态机语句"Python is fun"褒贬义判断的两种实现方式
- Codeforces Round #219 (Div. 2) D. Counting Rectangles is Fun