题目
感觉这题的意思比较难懂,题目比较简单,直接模拟就过了
题意:每次都只取出一个,好像和约瑟夫环有点像
AC代码:
package 蓝桥杯2016;
import java.util.*;
public class 赢球票 {
static Scanner sc=new Scanner(System.in);
public static void main(String[] args) {
while(sc.hasNext()) {
int n=sc.nextInt();
int a[]=new int [n];
for(int i=0;i<n;i++) {
a[i]=sc.nextInt();
}
int b[]=new int [n];
int ans=0;
for(int i=0;i<n;i++) {//从每个数都开始一次
int x=0;//记录数的数
int max=0;
int s=0;
for(int j=0;j<n;j++) {
b[j]=a[j];
}
for(int j=i;x<n;j++) {
if(s==n)break;//数组为空
if(b[j%n]==0)continue;//出现0表示该位置为空
x++;
if(b[j%n]==x) {
x=0;
max+=b[j%n];
b[j%n]=0;
s++;
}
}
ans=Math.max(ans, max);
}
System.out.println(ans);
}
}
}