日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

Gym100187I

發(fā)布時(shí)間:2023/12/3 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Gym100187I 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Gym100187I


做法:倒著構(gòu)造,根據(jù)下一個(gè)數(shù)確定正負(fù),本身這個(gè)位置確定升降,正就從1開(kāi)始,負(fù)就從-1開(kāi)始。最終序列從±1e9開(kāi)始,特殊處理一下,中間判是否越界即可。

水吧。。。然后就爆炸了,畢竟 IMPOSSIBLE 和 NO 的區(qū)別我 zz 的肉眼。。。3個(gè)小時(shí)都看不到。。。幸好是場(chǎng)訓(xùn)練賽,開(kāi)了個(gè)沒(méi)人寫(xiě)的題,結(jié)果涼透啊。。。需要輸出單詞的題,一定要注意單詞拼的對(duì)不對(duì)!!!

//***mdzz IMPOSSIBLE 寫(xiě)成 NO, WA到終場(chǎng)!!!!!*** #include <bits/stdc++.h> #define rep(i,a,b) for(int i=a;i<=b;++i) #define per(i,a,b) for(int i=a;i>=b;--i) #define PII pair<int,int> typedef long long ll; const int N = 2000+ 55; const int inf = 0x3f3f3f3f; using namespace std; int n,ctt,cvt; ll tmp[N],v[N], a[N], cc=1; int main() {srand(time(0));scanf("%d",&n);rep(i,1,n) scanf("%I64d",&a[i]);cc = 1;per(i,n,2) {ctt = 0;ll f = 0;cc = 1;for(int j=0;j<cvt;++j) cc += abs(v[j]);if(a[i-1]==1&&a[i]==0) {f=cc;tmp[ctt++] = (cc);for(int j=0;j<cvt;++j) {f=f+v[j];if(f>1e9||f<-1e9) return puts("IMPOSSIBLE"),0;tmp[ctt++]=(f);}}else if(a[i-1]==0&&a[i]==1) {f=-cc;tmp[ctt++]=(-cc);for(int j=0;j<cvt;++j) {f=f+v[j];if(f>1e9||f<-1e9) return puts("IMPOSSIBLE"),0;tmp[ctt++]=(f);}}else if(a[i-1]==0&&a[i]==0) {f=-1;tmp[ctt++]=(-1);for(int j=0;j<cvt;++j) {f=f+v[j];if(f>1e9||f<-1e9) return puts("IMPOSSIBLE"),0;tmp[ctt++]=(f);}}else if(a[i-1]==1&&a[i]==1) {f=1;tmp[ctt++]=(1);for(int j=0;j<cvt;++j) {f=f+v[j];if(f>1e9||f<-1e9) return puts("IMPOSSIBLE"),0;tmp[ctt++]=(f);}}cvt = 0;for(int i=0;i<ctt;++i) v[cvt++]=tmp[i];int ff = 0;for(int j=0;j<cvt;++j) if(v[j]==0) ff=1;if(a[i-1]==1&&ff) {for(int j=0;j<cvt;++j) ++v[j];}else if(ff&&a[i-1]==0) {for(int j=0;j<cvt;++j) --v[j];}for(int i=0;i<cvt;++i) if(v[i]>1e9||v[i]<-1e9) return puts("IMPOSSIBLE"),0;}ll f=1;if(a[1]==1) f=-1e9;else f=1e9;ctt = 0;tmp[ctt++]=(f);for(int i=0;i<cvt;++i) {f=f+v[i];if(abs(f)>1e9) return puts("IMPOSSIBLE"),0;tmp[ctt++]=(f);}for(int i=0;i<ctt;++i) if(tmp[i]>1e9||tmp[i]<-1e9) return puts("IMPOSSIBLE"),0;for(int i=0;i<ctt;++i) printf("%I64d ",tmp[i]);puts("");return 0; }

轉(zhuǎn)載于:https://www.cnblogs.com/RRRR-wys/p/9460261.html

總結(jié)

以上是生活随笔為你收集整理的Gym100187I的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。