로봇 의 춤 (hdu 2232)
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 292 Accepted Submission(s): 154
Problem Description
하루 에 네 개의 서로 다른 로봇 a, b, c 와 d 가 춤 추 는 담요 에서 춤 을 춘 다. 이것 은 특수 한 춤 담요 이다. 그 는 네 개의 정사각형 담요 로 큰 정사각형 담 요 를 구성 했다. 처음에 네 개의 로봇 이 각각 네 개의 담요 에 서 있 었 다. 춤 추 는 모든 로봇 이 다가 갈 수 있 었 다.한 개의 담요 가 움 직 이거 나 원래 의 담요 (같은 담요 에 여러 개의 로봇 이 머 물 수 있 음) 에 머 물 렀 을 때 로봇 제조 자 는 n 보 를 거 친 이동 이 얼마나 많은 방식 으로 모든 담요 에 로봇 이 머 물 수 있 는 지 알 고 싶 어 한다.
Input
각 그룹의 데이터 에 정수 n (0 < = n < = 100) 을 입력 하 십시오.
Output
각 조 의 입 출력 에 대해 하나의 정 수 를 표시 하 는 방법 종 수 는 매우 클 수 있 으 니 9937 에 대해 모델 을 찾 으 십시오.
Sample Input
1
Sample Output
9
Source
HDOJ 2008 Summer Exercise(2)- Hold by Captain Xu
Recommend
lcy | We have carefully selected several similar problems for you: 2235 2233 2234 2237 2238
사고: 총 네 개의 로봇 에 게 1, 2, 3, 4 개의 위 치 를 기록 합 니 다. 1, 2, 3, 4.
3 차원 배열 a 를 열 고 1 차원 은 걸음 수 를 나타 내 며 2 차원 은 어느 로봇 을 나타 내 고 3 차원 은 로봇 이 있 는 위 치 를 나타 낸다.
그러면 a [i] [j] [k] = sum (a [i - 1] [j] [s]) (abs (k - s)! = 2)
그러면 마지막 으로 네 개의 로봇 이 있 는 위 치 를 매 거 한 다음 에 sum + = 네 개의 위치 방안 수의 곱 하기.
1 #include<stdio.h>
2 #include<algorithm>
3 #include<iostream>
4 #include<string.h>
5 #include<math.h>
6 #include<queue>
7 #include<string.h>
8 #include<stack>
9 #include<vector>
10 #include<map>
11 #define sc(x) scanf("%I64d",&x)
12 #define pr(x) printf("%I64d",x)
13 #define prr(x) printf("%I64d
",x)
14 #define prrr(x) printf(" %I64d",x)
15 #define FOR(i,p,q) for(int i=p;i<=q;i++)
16 const int NN=9937;
17 using namespace std;
18 int a[101][5][5];
19 int main(void)
20 {
21 int n,i,j,k,p,q,kk;
22 for(i=1; i<=4; i++)
23 {
24 for(j=1; j<=4; j++)
25 {
26 if(i==j)
27 {
28 a[0][i][j]=1;
29 }
30 else a[0][i][j]=0;
31 }
32 }// 0
33 for(i=1; i<=100; i++)
34 for(kk=1; kk<=4; kk++)
35 for(j=1; j<=4; j++)
36 for(int zz=1; zz<=4; zz++)
37 if(abs(zz-j)!=2)
38 a[i][kk][j]=(a[i][kk][j]+a[i-1][kk][zz])%9937;// 4
39
40 int ak[101];
41 int t[5];// 4
42 for(i=1; i<=100; i++)
43 {
44 int sum=0;memset(t,0,sizeof(t));
45 for(int r=1; r<=4; r++)// 24
46 {
47 t[r]++;
48 for(int z=1; z<=4; z++)
49 {
50 t[z]++;
51 for(int s=1; s<=4; s++)
52 {
53 t[s]++;
54 for(int y=1; y<=4; y++)
55 {
56 t[y]++;
57 int uu=0;
58 for(int rt=1; rt<=4; rt++)
59 {
60 if(t[rt]!=0)
61 {
62 uu++;
63 }
64 }
65 if(uu==4)
66 {
67 int sum1=((a[i][1][r]%NN*a[i][2][z]%NN)%NN*(a[i][3][s]%NN*a[i][4][y]%NN)%NN)%NN;
68 if(sum1<0)
69 {
70 printf("%d %d
",a[i][3][s],a[i][4][y]);
71 printf("%d
",sum1);
72 }
73 sum=(sum+sum1)%NN;
74
75 }
76 t[y]--;
77 }
78 t[s]--;
79 }
80 t[z]--;
81 }
82 t[r]--;
83 }
84 ak[i]=sum;
85
86 }
87 while(scanf("%d",&k)!=EOF)
88 {
89 printf("%d
",ak[k]);
90 }
91 return 0;
92 }
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.