P9185 [USACO23OPEN] Rotate and Shift B题目描述注意本题的时间限制为 4 秒是默认时间限制的 2 倍。为了庆祝春天的到来Farmer John 的NNN头奶牛发明了一种有趣的舞蹈她们围成一个圆圈并以一种可预测的方式重新排列自己。具体来说圆圈上有NNN个位置编号从000到N−1N-1N−1其中位置000紧接着位置N−1N-1N−1。每个位置上有一头奶牛。奶牛的编号也从000到N−1N-1N−1。初始时奶牛iii位于位置iii。你会被告知一组KKK个“活跃”位置0A1A2⋯AKN0 A_1 A_2 \dots A_K N0A1A2⋯AKN这意味着这些位置上的奶牛是下一批要移动的。在舞蹈的每一分钟会发生两件事。首先活跃位置上的奶牛会旋转位置A1A_1A1的奶牛移动到位置A2A_2A2位置A2A_2A2的奶牛移动到位置A3A_3A3依此类推位置AKA_KAK的奶牛移动到位置A1A_1A1。所有这些KKK次移动同时发生因此在旋转完成后所有活跃位置仍然恰好有一头奶牛。接下来活跃位置本身会移动A1A_1A1变为A11A_1 1A11A2A_2A2变为A21A_2 1A21依此类推如果某个活跃位置AiN−1A_i N-1AiN−1则AiA_iAi会循环回到000。请计算舞蹈进行TTT分钟后奶牛的顺序。输入格式第一行包含三个整数NNN、KKK和TTT。第二行包含KKK个整数表示初始的活跃位置A1,A2,…,AKA_1, A_2, \dots, A_KA1,A2,…,AK。注意A10A_1 0A10并且这些位置是按递增顺序给出的。输出格式输出TTT分钟后奶牛的顺序从位置000的奶牛开始用空格分隔。输入输出样例 #1输入 #15 3 4 0 2 3输出 #11 2 3 4 0说明/提示对于上述样例以下是前四个时间步的奶牛顺序和活跃位置AAA初始T 0顺序 [0 1 2 3 4]A [0 2 3] T 1顺序 [3 1 0 2 4] T 1A [1 3 4] T 2顺序 [3 4 0 1 2] T 2A [2 4 0] T 3顺序 [2 4 3 1 0] T 3A [3 0 1] T 4顺序 [1 2 3 4 0]1≤K≤N≤2⋅1051 \leq K \leq N \leq 2 \cdot 10^51≤K≤N≤2⋅1051≤T≤1091 \leq T \leq 10^91≤T≤109。输入 2-7N≤1000N \leq 1000N≤1000T≤10000T \leq 10000T≤10000。输入 8-13没有额外限制。C实现#includebits/stdc.husingnamespacestd;intn,k,t,a[200005][3],b[200005],c[200005];intmain(){cinnkt;for(inti1;ik;i)cinb[i];intxb[2]-b[1],k12;for(inti0;in;i){if(ib[k1]){if(k1k)xn-b[k1];else{k1;xb[k1]-b[k1-1];}}a[i][1]x;}k11;for(inti0;in;i,x){if(ib[k1]){x0;k1;}a[i][2]x;}for(inti0;in;i){inty;if(a[i][2]0)yiint(ceil(t*1.0/a[i][1]))*a[i][1];elseyiint(ceil((t-a[i][2])*1.0/a[i][1]))*a[i][1];c[y%n]i;}for(inti0;in;i)coutc[i] ;return0;}后续接下来我会不断用C来实现信奥比赛中的算法题、GESP考级编程题实现、白名单赛事考题实现记录日常的编程生活、比赛心得感兴趣的请关注我后续将继续分享相关内容