首页 > 其他 > 详细

华东交通大学2017年ACM“双基”程序设计竞赛 1003

时间:2017-11-18 19:49:48      阅读:249      评论:0      收藏:0      [点我收藏+]

Problem Description

有两个球在长度为L的直线跑道上运动,两端为墙。0时刻小球a以1m/s的速度从起点向终点运动,t时刻小球b以相同的速度从终点向起点运动。问T时刻两球的距离。这里小球与小球、小球与墙的碰撞均为弹性碰撞,所有过程没有能量损失。

Input

先输入一个q,代表q组数据,然后每组3个整数 L,t,T。
1<=L<=1000;0<=t<=1000;t<=T<=1000;

Output

一个整数,代表答案。

Sample Input

2
10 4 7
8 3 9

Sample Output

0
5

解法:模拟~
 1 #include<bits/stdc++.h>
 2 #define clr(x) memset(x,0,sizeof(x))
 3 #define LL long long
 4 using namespace std;
 5 #define INF 0x3f3f3f3f
 6 typedef long long ll;
 7 const int N= 30 +9;
 8 struct Matrix
 9 {
10     int m[N][N];
11 };
12 int Dinit,Dend;
13 int add,sub;
14 int main()
15 {
16     int test;
17     int L,t,T;
18     cin>>test;
19     while(test--)
20     {
21         cin>>L>>t>>T;
22         Dinit=0,Dend=L;
23         add=1,sub=-1;
24         for(int i=1;i<=T;i++)
25         {
26             if(i>t){Dinit+=add,Dend+=sub;}
27             else{Dinit+=add;}
28             if(Dinit==Dend){add=-1,sub=1;}
29             if(Dinit==0){add=1;}
30             if(Dinit==L){add=-1;}
31             if(Dend==0){sub=1;}
32             if(Dend==L){sub=-1;}
33         }
34         cout<<abs(Dend-Dinit)<<endl;
35     }
36     return 0;
37 }

 


华东交通大学2017年ACM“双基”程序设计竞赛 1003

原文:http://www.cnblogs.com/yinghualuowu/p/7857580.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!