using namespace std;
struct Link
{
int data;
Link *next;
};
int main()
{
int ncase,temp,ans,tag = 1,Ai,arr[200005];
cin >> ncase;
Link *head,*tail;
head = tail = new Link;
head->data = 1;
for(int i = 1;i < ncase;++i)
{
Link *q = new Link;
q->data = i+1;
tail->next = q;
tail = q;
}
tail ->next = head;
cin >> temp >> Ai;
while(tail->next != tail)
{
Link *p;
for(int k = 0;k < (temp - 1)%(ncase - tag + 1);++k)
tail = tail->next;
p = tail->next;
arr[p->data] = tag;
tail->next = p->next;
delete p;
++tag;
}
cout << tail->data<<endl;
for(int i = 0;i < Ai;++i)
{
cin >> ans;
cout << arr[ans]<< endl;
}
}
我是用链表做的,而且也在不断取模优化,结果还是超时了...(┬_┬),交了三次也只是AC40分,估计我还能想到的办法只有数组了