找规律可:
//当n<3时,没有偶数,输出-1;
//当n为奇数时,第一个偶数位置在第二,输出2;
//当n为偶数且能被4整除时,第一个偶数位置在第三,输出3;
//当n为偶数但不能被4整除时,偶数位置在第四,输出4
笨拙做法:
package niuke0409; import java.util.*; public class Main{ public static void main(String[] args){ Scanner sc=new Scanner(System.in); while(sc.hasNext()){ int n=sc.nextInt(); int dp[][]=new int[n][2*n-1]; dp[0][0]=1; for(int i=0;i<n;i++){ for(int j=0;j<2*(i+1)-1;j++){ if(i==0){ dp[i][j]=1; } else if(j==0){ dp[i][j]=dp[i-1][j]; } else if(j==1){ dp[i][j]=dp[i-1][j-1]+dp[i-1][j]; } else{ dp[i][j]=dp[i-1][j-2]+dp[i-1][j-1]+dp[i-1][j]; } } } for(int j=0;j<2*n-1;j++){ if(dp[n-1][j]%2==0){ System.out.println(j+1); break; } if(j==2*n-2&&dp[n-1][j]%2!=0){ System.out.println(-1); } } /* for(int i=0;i<n;i++){ for(int j=0;j<2*n-1;j++){ System.out.print(dp[i][j]+" "); } System.out.println(""); }*/ } } }