前言
为啥要在OI比赛中出物理捏。
题目大意
通道可以认为是一个无限长的坐标轴,在原点 上有一盏灯,在坐标为 和 的地方分别有两面镜子。
求这盏灯左边或右边第 个像的坐标。
对于 的数据 ,,。
思路
通过初步的画图,我们好像可以总结出这样的规律: 就是答案。但是,我们发现这样的话对于左右两盏灯的位置好像是没有使用的,这感觉不太对。
之后经过检查,发现写错了。
最后是:
当 为偶数,答案为
当 为奇数:当求左边的答案时为
求右边时为
代码
#include <iostream>
using namespace std;
typedef long long ll;
ll T,l,r,x;
int main(){
cin>>T;
cin>>l>>r;
for (int i = 1; i <=T ; ++i) {
char op;
cin>>op;
scanf("%lld",&x);
if(op=='L'){
if(x%2==1){
printf("%lld\n",-((x+1)*l+(x-1)*r));
continue;
}
printf("%lld\n",-(x*l+x*r));
}else{
if(x%2==1){
printf("%lld\n",((x+1)*r+(x-1)*l));
continue;
}
printf("%lld\n",(x*l+x*r));
}
}
return 0;
}
总结
本题的难点在于不出错的模拟一遍样例和几个小一点的 ,同时对数据进行归纳。