Code Forces 644A Parliament of Berland
来源:互联网 发布:剑三花太捏脸数据 编辑:程序博客网 时间:2024/06/05 00:43
A. Parliament of Berland
time limit per test1 second
memory limit per test256 megabytes
inputstandard input
outputstandard output
There are n parliamentarians in Berland. They are numbered with integers from 1 to n. It happened that all parliamentarians with odd indices are Democrats and all parliamentarians with even indices are Republicans.
New parliament assembly hall is a rectangle consisting of a × b chairs — a rows of b chairs each. Two chairs are considered neighbouring if they share as side. For example, chair number 5 in row number 2 is neighbouring to chairs number 4 and 6 in this row and chairs with number 5 in rows 1 and 3. Thus, chairs have four neighbours in general, except for the chairs on the border of the hall
We know that if two parliamentarians from one political party (that is two Democrats or two Republicans) seat nearby they spent all time discussing internal party issues.
Write the program that given the number of parliamentarians and the sizes of the hall determine if there is a way to find a seat for any parliamentarian, such that no two members of the same party share neighbouring seats.
Input
The first line of the input contains three integers n, a and b (1 ≤ n ≤ 10 000, 1 ≤ a, b ≤ 100) — the number of parliamentarians, the number of rows in the assembly hall and the number of seats in each row, respectively.
Output
If there is no way to assigns seats to parliamentarians in a proper way print -1.
Otherwise print the solution in a lines, each containing b integers. The j-th integer of the i-th line should be equal to the index of parliamentarian occupying this seat, or 0 if this seat should remain empty. If there are multiple possible solution, you may print any of them.
Examples
input
3 2 2
output
0 3
1 2
input
8 4 3
output
7 8 3
0 1 4
6 0 5
0 2 0
input
10 2 2
output
-1
#include <iostream>#include <string.h>#include <algorithm>#include <math.h>#include <stdio.h>#include <stdlib.h>#include <queue>using namespace std;int a[105][105];int l1[10005];int r1[10005];int num,n,m;int main(){ scanf("%d%d%d",&num,&n,&m); if(num>n*m) { cout<<-1<<endl; } else { memset(a,0,sizeof(a)); int cnt=1;int cot=1; for(int i=1;i<=num;i++) { if(i&1) l1[cnt++]=i; else r1[cot++]=i; } cnt=1;cot=1; for(int i=1;i<=m;i+=2) { a[1][i]=l1[cnt++]; if(i+1<=m) a[1][i+1]=r1[cot++]; } for(int i=2;i<=n;i++) { for(int j=1;j<=m;j++) { if(a[i-1][j]&1) a[i][j]=r1[cot++]; else a[i][j]=l1[cnt++]; } } for(int i=1;i<=n;i++) { for(int j=1;j<=m;j++) { if(j==m) cout<<a[i][j]; else cout<<a[i][j]<<" "; } cout<<endl; } } return 0;}
- Code Forces 644A Parliament of Berland
- Codeforces 644A Parliament of Berland 【水题】
- CodeForces 644 A.Parliament of Berland(构造)
- codeforces A. Parliament of Berland【水】
- Code Forces 567B Berland National Library
- code forces 1A
- code forces 377A
- code forces 505A
- Code Forces 587A
- Code Forces 588A
- [code forces] 762A
- code forces 3A Shortest path of the king
- code forces 630 P. Area of a Star
- Code Forces 567 B. Berland National Library(简单模拟)
- code forces 393A Nineteen
- code forces 399A Pages
- code forces 402A Nuts
- code forces 2A Winner
- 远程推送详解
- AIDL
- cocos2dx+lua注册事件函数详解
- ios多线程操作(五)—— GCD串行队列与并发队列
- 百度地图之初步使用实践
- Code Forces 644A Parliament of Berland
- Linux的lshw命令
- ios多线程操作(六)—— GCD全局队列与主队列
- Hibernate环境配置
- Android日历控件,还未实现点击日期改变背景色但可获取日期
- Code Forces 645A Amity Assessment
- Android中自定义checkbox样式
- leetcode 65. Valid Number
- HDU 5421 Victor and String