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

Posted 樱花落舞

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了华东交通大学2017年ACM“双基”程序设计竞赛 1003相关的知识,希望对你有一定的参考价值。

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的主要内容,如果未能解决你的问题,请参考以下文章

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

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

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

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

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

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