問題描述:
陳教授 是乙個國際知名的教授, 很多單位都爭先恐後邀請他演講是乙個國際知名的教授, 很多單位都爭先恐後邀請他演講今天下午 陳教授就要 做乙個非常重要的演講。 由於陳教授年紀大了,對一些不重要的小 由於陳教授年紀大了,對一些不重要的小 事情有點糊塗,今天上午 事情有點糊塗,今天上午 事情有點糊塗,今天上午 事情有點糊塗,今天上午 他把自己做演講要用的幻燈片隨便堆放在一起。因此, 他把自己做演講要用的幻燈片隨便堆放在一起。因此, 他把自己做演講要用的幻燈片隨便堆放在一起。因此, 他把自己做演講要用的幻燈片隨便堆放在一起。因此, 他把自己做演講要用的幻燈片隨便堆放在一起。因此, 他把自己做演講要用的幻燈片隨便堆放在一起。因此, 他把自己做演講要用的幻燈片隨便堆放在一起。因此, 演講之前他不得去整理這些幻燈片。 由於時間很緊 ,他希望盡可能簡單地完成 ,他希望盡可能簡單地完成 它。情況是這樣, 它。情況是這樣, 陳教授這次演講一共要用 n張幻燈片( 張幻燈片( n<=26 ),這 ),這 ),這 n張幻燈片 按照演講要使用的順序已經數字 1,2,…,n在上面編了號。因為幻燈片是 在上面編了號。因為幻燈片是 透明的,所以我們不能一下子看清每個數字對應幻燈片。
現在我們用大寫字母 a,b,c,… 再次把幻燈片依編 上號,你的任務是寫乙個程式,把幻燈片的數字編號和母對 應起來顯然這種寫乙個程式,把幻燈片的數字編號和母對 應起來顯然這種寫乙個程式,把幻燈片的數字編號和母對 應起來顯然這種應該是唯 一的;若是出現多種對應情況或某些數字編號和母不起來,我們就稱 一的;若是出現多種對應情況或某些數字編號和母不起來,我們就稱 一的;若是出現多種對應情況或某些數字編號和母不起來,我們就稱 對應是無法實現的。
資料 輸入:
幻燈片的情況通過乙個文字件 jiaoshou .in 輸入。檔案第一行只有個數 輸入。檔案第一行只有個數 n,表示有 ,表示有 n張幻燈片,接下來的 張幻燈片,接下來的 n行第包括 4個整數 xmin ,xmax ,ymin ,ymax (整數之間用空格分開),為幻燈片的座標,這 (整數之間用空格分開),為幻燈片的座標,這 n張幻燈片按其在輸入檔案中出 張幻燈片按其在輸入檔案中出 現的順序從前到後依次編號為 a,b,c,…再接下來的 再接下來的 n行依次為 n個數字編號 的座標 x,y,顯然在幻燈片之外是不會有數字的。
資料輸出 :
結果 輸出到 名為 jiaoshou .out 的文字件。若是對應可以實現,你輸出 檔案應該包括 n行,每一為個字母和數中間以空格隔開並且 行,每一為個字母和數中間以空格隔開並且 行,每一為個字母和數中間以空格隔開並且 行,每一為個字母和數中間以空格隔開並且
- 4 -
各行以字母的公升序排列,注意輸出要大寫並且頂格;反之若是對應無法 各行以字母的公升序排列,注意輸出要大寫並且頂格;反之若是對應無法 各行以字母的公升序排列,注意輸出要大寫並且頂格;反之若是對應無法 各行以字母的公升序排列,注意輸出要大寫並且頂格;反之若是對應無法 實現,在檔案的第一行頂格輸出 none 即可。
行首末無多餘空格輸入出樣例 輸入出樣例 輸入出樣例 1:
jiaoshou .in
46 22 10 20
4 18 6 16
8 20 2 18
10 24 4 8
9 15
19 17
11 7
21 11
jiaoshou .out
a 4b 1
c 2d 3
輸入出樣例 輸入出樣例 輸入出樣例 2:
jiaoshou .in
20 2
0 0 2
0 1 1
1jiaoshou .out
none
題目大意:
給出n個矩形和n個點,問每個點是否能唯一對應乙個矩形,並輸出方案。
題解:列舉出每個矩形包括的點(即點在矩形的橫縱座標範圍內),做一次拓撲排序,若只有唯一方案即輸出,否則輸出none
const
maxn=26;
inf='jiaoshou.in';
ouf='jiaoshou.out';
type
arr1=array[1..maxn,1..4]of longint;
arr2=array[1..maxn,1..2]of longint;
var a:array[1..maxn,1..4]of longint;
b:array[1..maxn,1..2]of longint;
n,i,j,p,k,l,l1:longint;
ans:array[1..maxn,-1..maxn]of longint;
f:array[1..maxn]of longint;
so:array[1..maxn]of longint;
procedure init;
var i,j,x1,x2,y1,y2:longint;
begin
readln(n);
for i:=1 to n do
readln(a[i,1],a[i,2],a[i,3],a[i,4]);
for i:=1 to n do
readln(b[i,1],b[i,2]);
end;
function check(i,j:longint):boolean;
begin
if (b[j,1]>=a[i,1])and(b[j,1]<=a[i,2])and(b[j,2]>=a[i,3])and(b[j,2]<=a[i,4]) then exit(true);
exit(false);
end;
begin
assign(input,inf);reset(input);
assign(output,ouf);rewrite(output);
init;
for i:=1 to n do
for j:=1 to n do
if check(i,j) then
begin
inc(ans[i,0]);
ans[i,ans[i,0]]:=j;
ans[i,-1]:=ans[i,0];
end;
p:=0;
repeat
inc(p);
for i:=1 to n do
if ans[i,-1]=1 then
for j:=1 to ans[i,0] do
if f[ans[i,j]]=0 then
begin
so[i]:=ans[i,j];
f[ans[i,j]]:=1;
for k:=1 to n do
for l:=1 to ans[k,0] do
if ans[k,l]=so[i] then dec(ans[k,-1]);
end;
until p=n;
for i:=1 to n do
if so[i]=0 then
begin
writeln('none');
close(input);close(output);
halt;
end;
for i:=1 to n do
writeln(chr(65+i-1),' ',so[i]);
close(input);close(output);
end.
糊塗的教授 拓撲排序
有n個矩陣 有些部分重疊在一起 現在有一些位置寫著一些數字,表示它原來的序號,問每乙個矩陣原來的序號 陳教授是乙個國際知名的教授,很多單位都爭先恐後邀請他演講,今天下午陳教授就要做乙個非常重要的演講。由於陳教授年紀大了,對於一些不重要的小事情有點糊塗,今天上午他把自己做演講要用的幻燈片隨便堆放在一起...
拓撲 糊塗的教授
陳教授是乙個國際知名的教授,很多單位都爭先恐後邀請他演講,今天下午陳教授就要做乙個非常重要的演講。由於陳教授年紀大了,對於一些不重要的小事情有點糊塗,今天上午他把自己做演講要用的幻燈片隨便堆放在一起。因此,演講之前他不得不去整理這些幻燈片。由於時間很緊,他希望盡可能簡單地完成它。情況是這樣,陳教授這...
ssl2654 糊塗的教授
糊塗的教授 陳教授是乙個國際知名的教授,很多單位都爭先恐後邀請他演講,今天下午陳教授就要做乙個非常重要的演講。由於陳教授年紀大了,對於一些不重要的小事情有點糊塗,今天上午他把自己做演講要用的幻燈片隨便堆放在一起。因此,演講之前他不得不去整理這些幻燈片。由於時間很緊,他希望盡可能簡單地完成它。情況是這...