123 条题解
-
-1641015077 LV 4 @ 2008-10-03 19:34:42
program ex;
var
a:array[0..9] of integer;
d:array[0..9] of boolean;
c:array[0..9,0..9] of boolean;
f:array[1..100] of integer;
n,m:integer;
b:array[1..10] of integer;
i,j,ope,clos:integer;
k:string;
begin
readln(k);
i:=pos(' ',k);
val(copy(k,i+1,length(k)-i),n,m);
delete(k,i,length(k)-i+1);
fillchar(c,sizeof(c),false);
for i:=1 to n do
begin
readln(j,m);
c[j,m]:=true;
end;
for i:=0 to 9 do
begin
ope:=0;
clos:=1;
fillchar(d,sizeof(d),true);
fillchar(b,sizeof(b),0);
a[i]:=1;
d[i]:=false;
b[1]:=i;
repeat
ope:=ope+1;
for j:=0 to 9 do
if (c[b[ope],j])and(d[j]) then
begin
clos:=clos+1;
b[clos]:=j;
d[j]:=false;
a[i]:=a[i]+1;
end;
until ope>=clos;
end;
f[1]:=1;
for i:=1 to length(k) do
begin
m:=ord(k[i])-48;
for j:=1 to 100 do
f[j]:=f[j]*a[m];
for j:=1 to 99 do
begin
f[j+1]:=f[j+1]+(f[j] div 10);
f[j]:=f[j] mod 10;
end;
end;
i:=100;
while f[i]=0 do
i:=i-1;
for j:=i downto 1 do
write(f[j]);
writeln;
end.一次AC太爽了!!!
-
-12007-03-27 17:17:53@
最后一组数据有问题!!!!!~~~~~最后一组数据有问题!!!!!~~~~~最后一组数据有问题!!!!!~~~~~最后一组数据有问题!!!!!~~~~~最后一组数据有问题!!!!!~~~~~最后一组数据有问题!!!!!~~~~~最后一组数据有问题!!!!!~~~~~最后一组数据有问题!!!!!~~~~~最后一组数据有问题!!!!!~~~~~最后一组数据有问题!!!!!~~~~~最后一组数据有问题!!!!!~~~~~最后一组数据有问题!!!!!~~~~~最后一组数据有问题!!!!!~~~~~最后一组数据有问题!!!!!~~~~~最后一组数据有问题!!!!!~~~~~最后一组数据有问题!!!!!~~~~~最后一组数据有问题!!!!!~~~~~最后一组数据有问题!!!!!~~~~~最后一组数据有问题!!!!!~~~~~最后一组数据有问题!!!!!~~~~~最后一组数据有问题!!!!!~~~~~最后一组数据有问题!!!!!~~~~~最后一组数据有问题!!!!!~~~~~最后一组数据有问题!!!!!~~~~~最后一组数据有问题!!!!!~~~~~最后一组数据有问题!!!!!~~~~~最后一组数据有问题!!!!!~~~~~最后一组数据有问题!!!!!~~~~~最后一组数据有问题!!!!!~~~~~最后一组数据有问题!!!!!~~~~~最后一组数据有问题!!!!!~~~~~最后一组数据有问题!!!!!~~~~~最后一组数据有问题!!!!!~~~~~最后一组数据有问题!!!!!~~~~~最后一组数据有问题!!!!!~~~~~最后一组数据有问题!!!!!~~~~~最后一组数据有问题!!!!!~~~~~最后一组数据有问题!!!!!~~~~~最后一组数据有问题!!!!!~~~~~最后一组数据有问题!!!!!~~~~~最后一组数据有问题!!!!!~~~~~最后一组数据有问题!!!!!~~~~~最后一组数据有问题!!!!!~~~~~最后一组数据有问题!!!!!~~~~~最后一组数据有问题!!!!!~~~~~最后一组数据有问题!!!!!~~~~~最后一组数据有问题!!!!!~~~~~最后一组数据有问题!!!!!~~~~~最后一组数据有问题!!!!!~~~~~最后一组数据有问题!!!!!~~~~~最后一组数据有问题!!!!!~~~~~最后一组数据有问题!!!!!~~~~~最后一组数据有问题!!!!!~~~~~最后一组数据有问题!!!!!~~~~~最后一组数据有问题!!!!!~~~~~最后一组数据有问题!!!!!~~~~~最后一组数据有问题!!!!!~~~~~最后一组数据有问题!!!!!~~~~~最后一组数据有问题!!!!!~~~~~最后一组数据有问题!!!!!~~~~~最后一组数据有问题!!!!!~~~~~最后一组数据有问题!!!!!~~~~~最后一组数据有问题!!!!!~~~~~最后一组数据有问题!!!!!~~~~~最后一组数据有问题!!!!!~~~~~
-
-22016-07-21 15:42:58@
#include<iostream> #include<cstdio> #include<string> #include<vector> using namespace std; int k; int d[10][10]; int cnt[10]; string n; void mul (vector<int>& a, int b) { int k = 0; for (int i = 1; i < a.size(); i++) { a[i] = a[i] * b + k; k = a[i] / 10; a[i] %= 10; } if (k) a.push_back(k); } int main () { // freopen("in.txt", "r", stdin); cin >> n >> k; if (!k) { cout << 0; return 0;} for (int i = 0; i < 10; i++) d[i][i] = 1; while (k--) { int a, b; cin >> a >> b; d[a][b] = 1; } for (int k = 0; k < 10; k++) for (int i = 0; i < 10; i++) for (int j = 0; j < 10; j++) d[i][j] |= d[i][k] & d[k][j]; for (int i = 0; i < 10; i++) for (int j = 0; j < 10; j++) if (d[i][j]) cnt[i]++; vector<int> ans(2); ans[1] = 1; for (int i = 0; i < n.length(); i++) mul(ans, cnt[n[i]-'0']); for (int i = ans.size()-1; i > 0; i--) cout << ans[i]; return 0; }