程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> POJ3364

POJ3364

編輯:C++入門知識

為什麼我的代碼AC不了。

[cpp]
#include <stdio.h> 
int v[40001][40001][10]; 
long int f(int n, int m, int c) 

    if(n==8 && m==8 && c==0) 
        v[8][8][0] = 0; 
    if(n==8&&m==8&&c==1) 
        v[8][8][1] = 1; 
    if(n==9&&m==8&&c==0) 
        v[9][8][0] = 1; 
    if(n==9&&m==8&&c==1) 
        v[9][8][1] = 1; 
    if(n>8 && m>8 && c==0) 
        v[n][m][c] = f(n-1, m-1, 0) + 2; 
    else if(n>8 && m>8 && c==1) 
        v[n][m][c] = f(n-1, m-1, 1) + 1; 
    return v[n][m][c]; 

int main() 

    int n, m, c; 
    long int result;     
    while(scanf("%d %d %d", &n, &m, &c) != EOF) 
    { 
        if(n == 0 && m == 0 && c == 0) 
            break; 
        else 
        { 
            if(n >= m) 
                result = f(n, m, c); 
            else 
                result = f(m, n, c); 
        } 
        printf("%ld\n", result); 
    } 
    return 0; 

#include <stdio.h>
int v[40001][40001][10];
long int f(int n, int m, int c)
{
 if(n==8 && m==8 && c==0)
  v[8][8][0] = 0;
 if(n==8&&m==8&&c==1)
  v[8][8][1] = 1;
 if(n==9&&m==8&&c==0)
  v[9][8][0] = 1;
 if(n==9&&m==8&&c==1)
  v[9][8][1] = 1;
 if(n>8 && m>8 && c==0)
  v[n][m][c] = f(n-1, m-1, 0) + 2;
 else if(n>8 && m>8 && c==1)
  v[n][m][c] = f(n-1, m-1, 1) + 1;
 return v[n][m][c];
}
int main()
{
 int n, m, c;
 long int result; 
 while(scanf("%d %d %d", &n, &m, &c) != EOF)
 {
  if(n == 0 && m == 0 && c == 0)
   break;
  else
  {
   if(n >= m)
    result = f(n, m, c);
   else
    result = f(m, n, c);
  }
  printf("%ld\n", result);
 }
 return 0;
}

 

分享到:

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved