站外题优化求助
查看原帖
站外题优化求助
746229
Joker_lazydoghead楼主2023/1/8 22:40

蜗蜗最近沉迷上了蜗蜗棋。

蜗蜗棋里有一颗棋子,一开始出现在数轴上等于 x 的位置。

对于每一步,假设当前棋子的位置为 c,如果 c<k,那么蜗蜗会把棋子挪到位置 c+y,否则蜗蜗会把棋子挪到位置 c−z。

给定 x,y,z,k,s,请问 s 步以后棋子在什么位置?

输入格式

第一行一个整数 test 表示数据组数。

对于每组数据,一行五个整数 x,y,z,k,s。

输出格式

对于每组数据,输出一行一个整数表示棋子最后的位置。

样例输入

2

1 2 3 3 2

1 2 3 3 3

样例输出

0 2

数据规模

对于 30% 的数据,保证 1≤test≤100,1≤s≤105。

对于 100% 的数据,保证 1≤test≤10510^5,1≤x,y,z,k,s≤10910^9

代码(30分TLE):

#include<bits/stdc++.h>
using namespace std;
typedef unsigned long long Barbatoss;
typedef long long Wendy;
typedef long ShaTang;
typedef int LeiZe;
Wendy test,x,y,z,k,s,i;
main(){
	scanf("%lld",&test);
	while(test--){
		scanf("%lld%lld%lld%lld%lld",&x,&y,&z,&k,&s);
		for(i=1;i<=s;i++){
			if(x<k)x+=y;
			else x-=z;
		}
		printf("%lld\n",x);
	}
}
2023/1/8 22:40
加载中...