【牛客 - 289H】约会(思维,数学,奇偶数,水题)
題干:
?
Hang等了一年,終于,朝氣蓬勃的小學妹來了,在開學當天,就成功打入協會迎新群,在Hang的魅力(死皮賴臉)之下,有個小學妹要和他面基了,小學妹說,她就在這個學校里,讓Hang過去找她
假設,在二維坐標的每個點,都有一個女生,但是Hang不知道哪個是和他約會小學妹
所以他在每一個位置,都會詢問這個女生(因為Hang記憶力比較差,所以走過的地方可以重復走),是不是Hang認識的小學妹
如果是Hang認識的小學妹,則他不會繼續找下去,否則他會隨機找一個方向找下去
如果Hang和小學妹見面了,小學妹會問Hang他走了幾步到的,如果Hang說的步數一定是假的,小學妹就和moxin大佬私奔
現已知Hang的坐標(0,0),小學妹坐標(x,y),Hang回答的步數a,你能否幫小學妹判斷Hang說的是否可能是真話呢?
因為Hang曾經橫行霸道,被人一頓暴打,所以他現在慫的只敢斜著走(↖ ↙ ↗ ↘)斜著走,如:(0,0) -> (1,1) , (1,1) ->(0,2),(0,0)->(-1,1)
?
輸入描述:
多組數據,每組數據先有兩個整數(x,y)(數據保證x,y都在int范圍內)表示學妹的坐標,接下來再一個非負整數a(0<=a<=1015),表示Hang說他走了a步找到了小學妹輸出描述:
如果Hang不可能找到小學妹,請輸出“Not?the?fate”;(若Hang不可能找到小學妹,則a是無意義的)
如果Hang能找到小學妹但是通過他說的步數a不能走到小學妹所在位置,請輸出“You?are?lying”;
如果Hang能找到小學妹并且通過他說的步數a能走到小學妹所在位置,請輸出“We?are?together”。
"能找到小學妹"指存在一個k∈N,使得Hang走k步能到達小學妹所在位置。?
若Hang能找到小學妹,則對于能到達小學妹位置的所有可能步數k組成的集合(可以知道這個集合可能有無窮多個數k),只要a屬于這個集合,則判斷a能走到小學妹所在位置,反之a不能走到。
?
示例1
輸入
復制
1 0 2 2 2 1 2 2 2輸出
復制
Not the fate You are lying We are together解題報告:
? 注意別落下了x=y=0時n不為0的情況就好了。
AC代碼:
#include<cstdio> #include<iostream> #include<algorithm> #include<queue> #include<map> #include<vector> #include<set> #include<string> #include<cmath> #include<cstring> #define ll long long #define pb push_back #define pm make_pair #define fi first #define se second using namespace std; const int MAX = 2e5 + 5;int main() {ll x,y,n;while(cin>>x>>y>>n) {if(abs(x+y)%2) puts("Not the fate");else {ll t=max(max(x,-x),max(y,-y));if(n<t||(t-n)%2||(!x&&!y&&n)) puts("You are lying");else puts("We are together");}}return 0 ;}?
總結
以上是生活随笔為你收集整理的【牛客 - 289H】约会(思维,数学,奇偶数,水题)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 靓汤花甲之年终成正果
- 下一篇: srvload.exe - srvloa