码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2017-11-18 19:57:17      阅读:142      评论:0      收藏:0      [点我收藏+]

标签:pre   clu   roc   sub   程序   运动   bit   inf   proc   

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

标签:pre   clu   roc   sub   程序   运动   bit   inf   proc   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!