ACMテーマカエルのデート
Time Limit:
1000ms
Memory limit:
10000kB
タイトルの説明
2匹のカエルがネットで知り合って、楽しく話していたので、一度会う必要があると思っていました.同じ緯度線に住んでいることを喜んで発見し、会うまで西に踊ることを約束した.しかし、彼らは出発する前に重要なことを忘れて、相手の特徴をはっきり聞いていないし、会う具体的な位置を約束していない.しかし、カエルたちは楽観的で、ずっとある方向に飛び降りれば、いつも相手に会えると思っています.しかし、この2匹のカエルが同じ時間に同じ点にジャンプしない限り、永遠に会うことはできません.この2匹の楽観的なカエルを助けるために、この2匹のカエルが会えるかどうか、いつ会えるかを判断するプログラムを書くように要求されました.
この2匹のカエルをそれぞれカエルAとカエルBと呼び,緯度線上の東経0度を原点とし,東から西へを正方向とし,単位長さ1メートルで首尾が接する数軸を得た.カエルAの出発点座標をx、カエルBの出発点座標をyとする.カエルAは一度にmメートル、カエルBは一度にnメートル、2匹のカエルが一度にジャンプするのにかかる時間は同じです.緯度線の総長はLメートルである.今、何回も踊ってから会うように頼んでください.
入力
入力には、x≠y<20000000,0
出会いに必要なジャンプ回数を出力し、永遠に会えない場合は「Impossible」を出力します.
サンプル入力
1 2 3 4 5
サンプル出力
4
私の答え
メモリ:
1840kB
時間:
0ms
言語:
C
1: #include <stdio.h>
2: void main() {
3: int x,y,m,n,l;
4: int num=0,pa,pb;
5: scanf("%d%d%d%d%d",&x,&y,&m,&n,&l);
6: pa=x; pb=y;
7: while(1){
8: if(pa==pb) break;
9: if(pa+m>l) pa=pa+m-l; else pa+=m;
10: if(pb+n>l) pb=pb+n-l; else pb+=n;
11: ++num;
12: if(pa==x && pb==y) break;
13: }
14: if(pa==pb)
15: printf("%d/n",num);
16: else if(pa==x && pb==y)
17: printf("Impossible/n");
18:
19: }