jzoj 1355. 【2011.12.24普及模拟】珍珠分对

1355. 【2011.12.24普及模拟】珍珠分对(ppairing.pas/cpp) 
(File IO): input:ppairing.in output:ppairing.out

时间限制:  1000 ms  空间限制:  262144 KB  具体限制      Special Judge Goto ProblemSet
题目描述
作为生日礼物,BESSIE得到了N (2 <= N <= 100,000;N%2 == 0)颗(假?)珍珠, 每颗珍珠的颜色为C种颜色之一 (1 <= C <= N).BESSIE发现N是一个偶数,她想把所有珍珠分成N/2对,使得每对的两颗珍珠的颜色都不同.BESSIE知道这样一个分配在给定数据里都是可能的,请帮助她找到这样一个分配. 如果有多个解,任意一个,输出任意一个.
输入
第1行: 两个数, N 和 C
第 2..C + 1 行: 第i+1行含有一个数,C_i, 颜色为i的珍珠的数目.
输出
第 1..N/2行: 第i行包含两个数a_i和b_i. 对应于一对颜色分别为a_i和b_i的珍珠.
样例输入
8 3
2
2
4
样例输出
1 3
1 3
2 3
3 2
数据范围限制
提示
【样例说明】
输入解释:共8颗珍珠,2颗为颜色I,2颗为颜色II,4颗为颜色III.

输出解释:BESSIE把每颗颜色为III的珍珠和一颗颜色为I/II的组成一对.


由于数据太水,把它展开后,从中间输出就好

varn,c,i,j,k:longint;a,b:array[1..100000]of longint;beginassign(input,'ppairing.in'); reset(input);assign(output,'ppairing.out'); rewrite(output);readln(n,c);for i:=1 to c dobeginreadln(a[i]);for j:=1 to a[i] dobegininc(k);b[k]:=i;end;end;for i:=1 to k div 2 dowriteln(b[i],' ',b[i+k div 2]);
end.


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部