[TIOJ] 1120. 分子運動問題
題目連結: http://tioj.infor.org/problems/1120 基本上就是模擬他做的事,不過走過的點記得存下來,然後會有同樣結果的也先記下來,因為它是以6cm/s繞40cm的正方形,所以很容易可知每20秒會循環一次,大概這樣囉 #include <bits/stdc++.h>
using namespace std;
#define N 20000
struct TsuoBiaw{
int x,y;
};
TsuoBiaw arr[N+5];
bitset<N+5> isset;
int main(){
int n;
while(scanf("%d",&n)!=EOF){
if(isset[n]){
printf("(%d,%d)\n",arr[n].x,arr[n].y);
continue;
}
TsuoBiaw p;
p.x=10;
p.y=5;
bool flag=true;
char fanXian=0;
p.x+=6*n;
while(flag){
switch(fanXian){
case 0:
if(p.x>15){
p.y += p.x-15;
p.x=15;
}else{
flag=false;
}
break;
...