讨论 / 这道题时间限制太厉害了
Ending 2014-05-17 00:58:39
点我顶贴 收藏 删除
#include<iostream>

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分,估计我还能想到的办法只有数组了

查看更多回复
提交回复