至於思路以及**解釋,個人覺得洛谷的題解已經很清楚了,故就不多解釋了
有一點不是很清楚,就是如果將c陣列的初始值定義為 正:c[0]=1;c[1]=l[1];反:c[0]=1;c[1]=r[1]時會wa乙個點,但在我看來好像並沒有什麼區別,如果有人知道,可以在下面告訴我,萬分感謝
#include#include#include#include#includeusing namespace std;
const int maxn =50000+10;
inline int read()
ch=getchar();
} while(ch<='9'&&ch>='0')
return f*ret;
}int l[maxn];
int r[maxn];
int n;
int c[maxn];
int s[maxn];
int main()
c[1]=1;//我們先確定乙個點
c[2]=l[1];
for(int i=2;i<=n;i++)
if(i>1)
if(l[c[i]]==c[i-1])
c[i+1]=r[c[i]];
else c[i+1]=l[c[i]];
} int ans=n+10;
for(int i=2;i<=n;i++)
memset(s,0,sizeof(s));
memset(c,0,sizeof(c));
c[1]=1;//我們先確定乙個點
c[2]=r[1];
for(int i=2;i<=n;i++)
for(int i=1;i<=n;i++)
cout
}
洛谷P1053 篝火晚會
題目 模擬,構造出整個數列,要求的就是這個數列需要經過多少次操作得到 但是,這其實是乙個環,編號為1的可以放任意乙個位置,每一位都可以右移一位,最右邊的一位移到第一位 後文直接叫右移 而且,第乙個人可以選擇左邊a 1 右邊b 1 也可以左邊b 1 右邊a 1 所以環還可以倒過來。比如題中所給資料 4...
洛谷 P1053 篝火晚會
佳佳剛進高中,在軍訓的時候,由於佳佳吃苦耐勞,很快得到了教官的賞識,成為了 小教官 在軍訓結束的那天晚上,佳佳被命令組織同學們進行篝火晚會。一共有nn n個同學,編號從11 1到nn n。一開始,同學們按照1,2,n1,2,n1,2,n的順序坐成一圈,而實際上每個人都有兩個最希望相鄰的同學。如何下命...
洛谷P1053篝火晚會題解 zhengjun
題目描述 佳佳剛進高中,在軍訓的時候,由於佳佳吃苦耐勞,很快得到了教官的賞識,成為了 小教官 在軍訓結束的那天晚上,佳佳被命令組織同學們進行篝火晚會。一共有n nn個同學,編號從1 11到n nn。一開始,同學們按照1,2 n 1,2,n 1,2,n的順序坐成一圈,而實際上每個人都有兩個最希望相鄰的...