題解 JZOJ 1355 珍珠分對

2021-09-19 09:26:28 字數 774 閱讀 1366

作為生日禮物,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的珍珠.

簡單題,只需要以中心點為基準,從左到右尋找對映點即可。

由於資料時合法的,所以任何一種顏色的珍珠個數都小於n/2。

**:

#include

const

int maxn =

100000+1

;int c, n, m, j, ring[maxn]

;int

main()

for(

int i =

1; i <= n /

2; i++

)printf

("%d %d\n"

, ring[i]

, ring[n /

2+ i]);

fclose

(stdin);

fclose

(stdout);

return0;

}

JZOJ 8 15比賽 題解

第一題 icow 剛看這題的時候覺得要用快排,但其實不用。我們只須將每次經過題目要求改變的r陣列中的最大值輸出即可,並按照題目要求改變r陣列。第二題 化妝晚會 我們可以用頭尾指標來做這道題。首先將大於s的l i 賦值為0,再將l陣列中沒有為0的值按照從小到大快排一下,再用while迴圈列舉頭尾指標,...

題解 JZOJ 1352 遊蕩的奶牛

奶牛們在被劃分成n行m列 2 n 100 2 m 100 的草地上游走,試圖找到整塊草地中最美味的牧草。farmer john在某個時刻看見貝茜在位置 r1,c1 恰好t 0 t 15 秒後,fj又在位置 r2,c2 與貝茜撞了正著。fj並不知道在這t秒內貝茜是否曾經到過 r2,c2 他能確定的只是...

JZOJ 5445 字典序 題解

description 你需要構造乙個1 n的排列,使得它滿足m個條件,每個條件形如 ai,bi 表示ai必須在bi前面。在此基礎上,你需要使它的字典序最小。input 第一行兩個正整數n,m。接下來m行每行兩個數ai,bi。output 輸出一行n個整數表示答案。如果不存在這樣的排列,輸出 1。s...