1、L.牛牛学走路
- 恭喜你 签到成功
#include<bits/stdc++.h>
using namespace std;
int main(){
int T; cin>>T;
while(T--){
int n; cin>>n;
string s; cin>>s;
int x = 0, y = 0;
double ans = 0;
for(char ch : s){
if(ch=='U')y++;
if(ch=='D')y--;
if(ch=='R')x++;
if(ch=='L')x--;
double d = sqrt(x*x+y*y);
ans = max(ans, d);
}
printf("%.10lf\n",ans);
}
return 0;
}
2、E.炸鸡块君的高中回忆
- 注意 n=m=1 的特判;
- 模拟会超时,要推出公式;
- 公式不唯一,考虑让m个人先进去花掉1次,之后每轮可以进m-1个。
#include<bits/stdc++.h>
using namespace std;
int main(){
int T; cin>>T;
while(T--){
int n, m; cin>>n>>m;
if(m==1){
if(n==1)cout<<"1\n";
else cout<<"-1\n";
}else{
cout<<2*((n-m)/(m-1)+((n-m)%(m-1)!=0))+1<<"\n";
}
}
return 0;
}