# Code Forces 644A Parliament of Berland

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;
}```

0 条评论

• ### ZOJ 3204 Connect them

Connect them ---- Time Limit: 1 Second      Memory Limit: 32768 KB ---- You have...

• ### PAT 甲级 1019 General Palindromic Number（简单题）

1019. General Palindromic Number (20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制...

• ### POJ--1936 All in All（水题，暴力即可）

All in All Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 3...

• ### Gym 100952I&&2015 HIAST Collegiate Programming Contest I. Mancala【模拟】

I. Mancala time limit per test：3 seconds memory limit per test：256 megabytes inp...

• ### 【PAT甲级】Counting Ones

版权声明：本文为博主原创文章，遵循 CC 4.0 BY-SA 版权协议，转载请附上原文出处链接和本声明。 ...

• ### Educational Codeforces Round 44 (Rated for Div. 2) B. Switches and Lamps

You are given n switches and m lamps. The i-th switch turns on some subset of th...

• ### 应用更新和部署 转

先来看我蹩脚的翻译：https://mesosphere.github.io/marathon/docs/deployments.html 应用部署

• ### POJ 1163（数字三角形）

7 3 8 8 1 0 2 7 4 4 4 5 2 6 5

• ### POJ 2398--Toy Storage(叉积判断，二分找点，点排序)

Toy Storage Time Limit: 1000MS Memory Limit: 65536K Total Submissions: ...