http://poj.org/problem?id=2663
我的输出是正确的,我100%确定。我不知道为什么它不接受。
import java.util.*;
import java.util.Scanner;
public class Main
{
public static void main(String[] args)
{
Scanner sc=new Scanner(System.in);
long a[]=new long [31];
a[2]=3;
a[4]=11;
int i,j,s;
for(i=6;i<31;i+=2){
for(j=i-2;j>=2;j-=2){
if(j==i-2){
a[i]+=a[j]*3;
}
else
a[i]+=a[j]*2;
}
a[i]+=2;
}
while(true){
s=sc.nextInt();
if(s<0)
break;
if(s%2==0)
System.out.println(a[s]);
else
System.out.println(0);
}
}
}