這題就是搜……
注意設定maxn 要不然肯定爆 maxn=1*10^最大位數/2 1234..89-11121314這樣的
program aa;
const
maxn=1000000000000000;
var n,t:longint;
a:array[1..15] of char;
procedure dfs(l,sum,res,bl:int64);
var i,j:longint;
begin
if l=n then
begin
res:=res+bl*sum;
if res=0 then
begin
inc(t);
if t<=20 then
begin
for i:=1 to n-1 do write(i,' ',a[i],' ');
writeln(n);
end;
end;
exit;
end;
a[l]:='+';
dfs(l+1,l+1,res+bl*sum,1);
a[l]:='-';
dfs(l+1,l+1,res+bl*sum,-1);
a[l]:='.';
if sum<=maxn then
if l+1<=9 then
dfs(l+1,sum*10+(l+1),res,bl)
else
dfs(l+1,sum*100+(l+1),res,bl);
end;
begin
read(n);
t:=0;
dfs(1,1,0,1);
writeln(t);
// close(output);
end.
1950 Problem D 進製轉換
時間限制 1 sec 記憶體限制 32 mb 將m進製的數x轉換為n進製的數輸出。輸入的第一行包括兩個整數 m和n 2 m,n 36 下面的一行輸入乙個數x,x是m進製的數,現在要求你將m進製的數x轉換成n進製的數輸出。輸出x的n進製表示的數。10 2 111011注意輸入時如有字母,則字母為大寫,...
50道演算法題(19 50)
給定乙個包含 m x n 個元素的矩陣 m 行,n 列 請按照順時針螺旋順序,返回矩陣中的所有元素。示例 1 輸入 1,2,3 4,5,6 7,8,9 輸出 1,2,3,6,9,8,7,4,5 示例 2 輸入 1,2,3,4 5,6,7,8 9,10,11,12 輸出 1,2,3,4,8,12,11...
1950QuickPow(快速冪加法)
quickpow time limit 1000 ms memory limit 32768 k total submit 122 77 users total accepted 84 76 users rating special judge no description 計算a b k。由於結果...