题意:
开始Allen站在第一个门,如果当前门前面有人Allen会花费单位时间走到下一个门,如果没人Allen从这个门就进去了。球场的每个门,每单位时间可以进去一个人。问Allen最终是从哪个门进入球场的?
题解:
判断何时从这个门进,如果从第 i 个门进,第 i 个门有 k 个人,那么 x * n+ i > k , x 代表第几圈
所以只要按顺序,圈数最小的就是最先进去的
AC代码
#include <bits/stdc++.h>
using namespace std;
int main(){
int n, x = 1000000009, ans = 1;
cin >> n;
for(int i = 1; i <= n; i++){
int t;
cin >> t;
if(x > (t-i+n)/n){
x = (t-i+n)/n; // x 表示圈数
ans = i;
}
}
cout << ans << endl;
return 0;
}

&spm=1001.2101.3001.5002&articleId=100009090&d=1&t=3&u=5ffd9a9171e94d228176627989dbdc3c)
1021

被折叠的 条评论
为什么被折叠?



