ccf/csp 跳一跳java实现

package ex4;
import java.util.*;

public class ex5_1 {
	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		String[] s_1=sc.nextLine().split(" ");
		int[] a=new int[30];
		for(int i=0;i<s_1.length;i++) {
			a[i]=Integer.parseInt(s_1[i]);
		}
		int score=0;
		int num=1;
		int flag=0;
		int first=1;
		int p;
		for(int i=0;i<s_1.length-1;i++) {
			if(a[i]==1) {
				score++;
				first=1;//每次完成后重新进入
				num=1;//每次完成后重新赋值,防止累计
			}
			else if(a[i]==2){
				{
					if(first==1) {
						score=score+2;
						first=0;//进入该循环后通过first的值确定是否再次进入循环
					}
					else if(first==0) {
				
				num++;//2+4+6..=1+2+3的二倍
				score=score+num*2;}
			}
			
		}
		
	}
		System.out.println(score);

}
}

该题的思想就是在一个循环中确定一个flag作为第二个循环进入和判定的条件

猜你喜欢

转载自blog.csdn.net/qq_40741513/article/details/84845119