解题思路: 数组模拟就行
注意事项: 题目的n和环形根本没限制好……,AC只需数组开完就行
参考代码:
import java.util.Scanner; /** * 2021年2月16日 下午8:32:46 * @author praguetramp */ public class Main { @SuppressWarnings("resource") public static void main(String []args) { Scanner in =new Scanner(System.in); int n=in.nextInt(); //晾衣架的长度,与n无关…… while(in.hasNext()) { int flag [] = new int [100005],index=0; int m=in.nextInt(); //表示有几件衣服 for( int i=0;i<m;i++) { int len=in.nextInt(); //每件衣服的长度 if(i==0) { //第一件衣服 for(int k=0;k<len;k++) { //第一件衣服所占的格子数目 flag[index+k]=1; } // flag[n-1]=2; 环形是个啥?没作用…… flag[index+len]=2; //间隔格子 index=0+len+1; //置为1,并移动到下次开始的位置,0表示起点,i表示长度,1表示单个间隔格子 } else { for(int k=0;k<len;k++){ //第i件衣服 flag[index+k]=1; } flag[index+len]=2; index=index+len+1; } } int q=in.nextInt()-1; //需要查询的位置 if(q<0) return ; System.out.println(flag[q]); } in.close(); } }
0.0分
2 人评分