cogs 79 渡輪問題(輸出路徑)

2022-07-21 22:27:26 字數 1186 閱讀 5645

★☆   輸入檔案:maxxl.in輸出檔案:maxxl.out簡單對比

時間限制:1 s   記憶體限制:128 mb

palmia 河在某國從東向西流過,並把該國分為南北兩個部分。河的兩岸各有 n 個城市,且北岸的每乙個城市都與南岸的某個城市是友好城市,而且對應的關係是一一對應的。現在要求在兩個友好城市之間建立一條航線,但由於天氣的關係,所有航線都不能相交,因此,就不可能給所有的友好城市建立航線。

問題:當城市個數和友好關係建立之後,選擇一種修建航線的方案,能建最多的航線而不相交。(若有多種方案,修建航線最多且城市數量相同,選擇從前到後城市標號字典序小的那種方案.)

【輸入格式】

輸入由若干行組成,第一行有乙個整數,n(1≤n≤10000);表示城市數。第2至n+1行依次是南岸城市的北岸友好城市編號。

【輸出格式】

輸出共兩行,第一行是建立航線的數量。第二行是建立航線的北岸城市編號。

【輸入樣例】

輸入檔名:maxxl.in

141379

1638

2437

1844

1921

2263

15【輸出樣例】

輸出檔名:maxxl.out

87 9 16 18 19 21 22 63

#include#include

#define maxn 10010

using

namespace

std;

inta[maxn],f[maxn],pre[maxn];

intmain()

for(i=1;i<=n;i++)

else

pre[j]=min(pre[j],i);}}

}int maxx=0

;

for(i=1;i<=n;i++)

if(f[i]>maxx)

printf(

"%d\n

",maxx);

int b[maxn],l=0

;

while(k!=pre[k])

b[++l]=a[k];

for(i=maxx;i>=1;i--)

printf(

"%d

",b[i]);

return0;

}

迷宮問題(輸出路徑)

迷宮問題 time limit 1000 ms memory limit 65536 kb 64bit io format i64d i64u description 定義乙個二維陣列 int maze 5 5 它表示乙個迷宮,其中的1表示牆壁,0表示可以走的路,只能橫著走或豎著走,不能斜著走,要求...

OJ 4127 迷宮問題 遞迴輸出路徑

定義乙個二維陣列 int maze 5 5 它表示乙個迷宮,其中的1表示牆壁,0表示可以走的路,只能橫著走或豎著走,不能斜著走,要求程式設計序找出從左上角到右下角的最短路線。輸入乙個5 5的二維陣列,表示乙個迷宮。資料保證有唯一解。輸出左上角到右下角的最短路徑,格式如樣例所示。樣例輸入0 1 0 0...

POJ 3414(BFS 輸出路徑 倒水問題)

題意 給你兩個容器,分別能裝下a公升水和b公升水,並且可以進行以下操作 fill i 將第i個容器從水龍頭裡裝滿 1 i 2 drop i 將第i個容器抽乾 pour i,j 將第i個容器裡的水倒入第j個容器 這次操作結束後產生兩種結果,一是第j個容器倒滿並且第i個容器依舊有剩餘,二是第i個容器裡的...