| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
我顶! 郁闷,不AC真郁闷In Reply To:为什么WA, 请看看 Posted by:direfire at 2006-10-27 00:02:41 > #include <iostream>
> #include <sstream>
> #include <string>
> #include <vector>
> #include <set>
> #include <map>
> #include <algorithm>
> #include <cstdio>
> #include <cstdlib>
> #include <cmath>
> #include <math.h>
> #include <string.h>
> #include <stdlib.h>
> using namespace std;
>
> #define REP(i, n) for(int i = 0; i<(n); i++)
> #define abs(a) ((a) >= 0 ? (a) : -(a))
> #define inf 999999999
> typedef vector<int> VI;
> typedef vector<string> VS;
> typedef long long i64;
> typedef unsigned long long u64;
>
> int v[6][6];
> int dp[1000000];
> int dx[] = {-1, 0, 1, 0};
> int dy[] = {0, 1, 0, -1};
> void go(int num, int digit, int x, int y)
> {
> if (digit == 6) {
> if(dp[num]) return;
> else dp[num] = 1;
> return;
> }
> for (int i = 0; i < 4; i++)
> {
> int rx = x+dx[i];
> int ry = y+dy[i];
> if (rx>=0 && rx<5 && ry>0 &&ry<5) go(num*10+v[rx][ry], digit+1, rx, ry);
> }
> return;
> }
>
> int main()
> {
> for (int i = 0; i < 5; i++)
> for (int j = 0; j < 5; j++)
> scanf("%d", &v[i][j]);
> for (int i = 0; i < 5; i++)
> for (int j = 0; j <5; j++)
> go(v[i][j], 1, i, j);
>
> int res = 0;
> for (int i = 0; i < 1000000; i++)
> res+=dp[i];
> printf("%d\n", res);
> }
Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator