Algorithm
Problem Name: 2 AD-HOC - beecrowd | 1136
Problem Link: https://www.beecrowd.com.br/judge/en/problems/view/1136
Bingo!
by Ines Kereki Uruguay
Timelimit: 2
Input
Output
For each test case, print a single line containing a single uppercase ‘Y’ if it is possible to call out every number from 0 to N, inclusive, or a single uppercase ‘N’ otherwise.
Input Sample | Output Sample |
6 7 |
Y |
Code Examples
#1 Code Example with C Programming
Code -
C Programming
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAXSIZE 100009
int c[MAXSIZE];
int v[MAXSIZE];
int main(int argc, char **argv)
{
int n, b;
while (scanf("%d %d", &n, &b), n)
{
for (size_t i = 0; i < b; ++i)
{
scanf("%d", &v[i]);
for (size_t j = 0; j < = i; ++j)
c[abs(v[i] - v[j])] = 1;
}
size_t i = 0;
for (; i < = n; ++i)
if (!c[i])
break;
printf("%c\n", (i - 1UL) != n ? 'N' : 'Y');
memset(c, 0, sizeof(int) * (n + 1));
}
return 0;
}
Copy The Code &
Try With Live Editor
Input
2 1 3 4 0 6 5
5 4
5 3 0 1
5 3
1 5 0
0 0
Output
Y
N
#2 Code Example with C++ Programming
Code -
C++ Programming
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,b;
while(cin >> n >> b && n)
{
vector < bool> a(n+1);
int count = n+1;
std::fill(a.begin(),a.end(),false);
vector<int> c(b);
for(int i = 0; i < b; i++)
{
cin >> c[i];
a[c[i]] = true;
count--;
}
int abss;
for(int i = 0; i < b-1; i++)
{
for(int j = i+1; j < b; j++)
{
abss = abs(c[i]-c[j]);
if(a[abss] == false)
{
a[abss]=true;
count--;
}
}
}
if(count != 0)
cout << "N\n";
else
cout << "Y\n";
}
}
Copy The Code &
Try With Live Editor
Input
2 1 3 4 0 6 5
5 4
5 3 0 1
5 3
1 5 0
0 0
Output
Y
N
#3 Code Example with Python Programming
Code -
Python Programming
while True:
n, b = [int(x) for x in input().split()]
if n == b == 0: break
p = [int(x) for x in input().split()]
a = list(set([abs(a-b) for a in p for b in p]))
b = [x for x in range(0, n+1)]
print('Y' if a == b else 'N')
Copy The Code &
Try With Live Editor
Input
2 1 3 4 0 6 5
5 4
5 3 0 1
5 3
1 5 0
0 0
Output
Y
N