這題的教訓是 要特判空串
program p1951;
var s:string;
len,i,j:longint;
b:array[0..10000] of boolean;
function isdight(x:longint):boolean;
begin
if (x>=65) and (x<=90) then exit(false);
if (x>=97) and (x<=122) then exit(false);
exit(true);
end;
begin
readln(s);
fillchar(b,sizeof(b),false);
b[ord('a')]:=true;
b[ord('e')]:=true;
b[ord('i')]:=true;
b[ord('o')]:=true;
b[ord('u')]:=true;
b[ord('a')]:=true;
b[ord('e')]:=true;
b[ord('i')]:=true;
b[ord('o')]:=true;
b[ord('u')]:=true;
i:=1;
while i<=length(s) do
begin
if b[ord(s[i])] and not(isdight(ord(s[i]))) then delete(s,i,1)
else
begin
b[ord(s[i])]:=true;
inc(i);
end;
end;
while (s[1]=' ') and (length(s)>=1) do delete(s,1,1);
while (s[length(s)]=' ') and (length(s)>=1) do delete(s,length(s),1);
i:=pos(' ',s);
while i<>0 do
begin
delete(s,i,1);
i:=pos(' ',s);
end;
i:=pos(' .',s);
while i<>0 do
begin
delete(s,i,1);
i:=pos(' .',s);
end;
i:=pos(' ,',s);
while i<>0 do
begin
delete(s,i,1);
i:=pos(' ,',s);
end;
i:=pos(' ?',s);
while i<>0 do
begin
delete(s,i,1);
i:=pos(' ?',s);
end;
writeln(s);
end.
博弈論 POJ 2311 特詳細
題意是一張紙 n m 每人切一刀 1 1 的贏 切了不扔掉 預設2 2 2 3 3 2 都已經失敗了 1 n 這裡沒進行初始化.題目裡沒給 裡就沒達到 嚴格的說其實按說都應該拓展成 的 由異或知,如果切完之後是兩個必敗的狀態 0和0 那麼就是當前狀態可以達到0 mex一下就不會拿到0,所以當前應該是...
poj2488 特坑的一題
首先不能用佇列存輸出,會超時 第二,最坑的地方,方向陣列一定先排列好。因為輸出要按字典序排序,所以方向陣列從左往右排列好,後邊就不用處理這個問題。這是最大坑點,坑了我乙個小時,看了別人 才找出這個bug!include include includeusing namespace std const...
poj1797 迪傑斯特拉演算法
1.迪傑斯特拉演算法的變形。2.找一條路的最小承受的重量做最大承受重量,這樣最後乙個點就是能承受的最大重量中的最小的重量。關鍵 if vis j dis j min map v j dis v include include include include using namespace std d...