搜狐两道题AC,不过用的方法比较蠢
1、搜狐第一题
import java.util.Scanner;
import java.util.ArrayList;
public class Main{
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int m = scanner.nextInt();
int[] a = new int[m];
for(int i=0;i<m;i++){
a[i]=scanner.nextInt();
}
ArrayList<Integer> list = new ArrayList<>();
for(int i=0;i<a[0];i++){
list.add(a[0]);
}
int count=1;
if(list.size()==1){
for(int i=0;i<a[1];i++){
list.add(a[1]);
}
count=2;
}
while(list.size()<n){
int time = list.get(count);
for(int i=0;i<time;i++){
list.add(a[count%m]);
}
count++;
}
for(int i=0;i<n;i++){
System.out.println(list.get(i));
}
}
}
2、搜狐第二题(这是本地编译器里的原始版本,后来提交的时候还改过,不知道能不能AC了。。。)
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);
boolean flag = true;
while(flag){
flag=false;
int[] num = new int[6];
for(int i=0;i<6;i++){
num[i]=scanner.nextInt();
}
for(int i=0;i<6;i++){
if(num[i]!=0){
flag=true;
break;
}
}
int totle = num[5]+num[4]+num[3];
if(num[2]%4==0) totle = totle+num[2]/4;
else totle = totle+num[2]/4+1;
int stay3 = 4-num[3]%4;
int take2 = 0;
if(stay3==1) take2=1;
if(stay3==2) take2=3;
if(stay3==3) take2=5;
int stay2 = num[1]-5*num[3]-take2;
if(stay2>0) {
if(num[1]%9==0) totle = totle+num[1]/9;
else totle = totle+num[1]/9+1;
}
int area = totle*36-num[5]*36-num[4]*25-num[3]*16-num[2]*9-num[1]*4;
int need = num[0]-area;
if(need>0){
totle=totle+need/36+1;
}
if(flag) System.out.println(totle);
}
}
}

