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

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

生活随笔

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

编程问答

POJ 3087 Shuffle'm Up 线性同余,暴力 难度:2

發(fā)布時(shí)間:2024/9/5 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 POJ 3087 Shuffle'm Up 线性同余,暴力 难度:2 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

http://poj.org/problem?id=3087

設(shè):s1={A1,A2,A3,...Ac}

s2={Ac+1,Ac+2,Ac+3,....A2c}

合在一起成為

Ac+1,A1,Ac+2,A2......A2c,Ac

經(jīng)過(guò)一次轉(zhuǎn)換之后變成

s1={Ac+1,A1,Ac+2.....}

s2={...A2c,Ac}

對(duì)應(yīng)之前,每個(gè)數(shù)的序號(hào)發(fā)生的變化是

+1,+2,+3....-c,-c+1,.....

把整個(gè)數(shù)鏈想成環(huán),也相當(dāng)于是:

+1,+2,+3....+c,+c+1,.......

例如A1,由A1->A2->A4->A7....c次之后必然回到A1

所以整個(gè)串經(jīng)過(guò)一定次數(shù)的變換一定會(huì)回到最初狀態(tài),只需判斷在回到最初狀態(tài)之前有沒(méi)有得到目標(biāo)狀態(tài)即可

?

#include <cstdio>//a=(a+c+1)%(2*c) #include <cstring> using namespace std; const int maxn=1002; int c; char s1[maxn],s2[maxn],aim[maxn],org[maxn],tmp[maxn]; void shuffle(){for(int i=0;i<c;i++){tmp[2*i]=s2[i];tmp[2*i+1]=s1[i];}tmp[2*c]=0; } int main(){int T;scanf("%d",&T);for(int ti=1;ti<=T;ti++){scanf("%d%s%s%s",&c,s1,s2,aim);shuffle();strcpy(org,tmp);int ans=1;if(strcmp(tmp,aim)==0){printf("%d 1\n",ti);continue;}bool fl=false;while(strcmp(org,tmp)!=0||ans==1){strncpy(s1,tmp,c);strncpy(s2,tmp+c,c);shuffle();ans++;if(strcmp(tmp,aim)==0){fl=true;printf("%d %d\n",ti,ans);break;}}if(!fl)printf("%d -1\n",ti);}return 0; }

  

轉(zhuǎn)載于:https://www.cnblogs.com/xuesu/p/4338159.html

總結(jié)

以上是生活随笔為你收集整理的POJ 3087 Shuffle'm Up 线性同余,暴力 难度:2的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

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