Skip to content

Instantly share code, notes, and snippets.

@LifeMoroz
Last active December 25, 2015 22:19
Show Gist options
  • Save LifeMoroz/7048404 to your computer and use it in GitHub Desktop.
Save LifeMoroz/7048404 to your computer and use it in GitHub Desktop.
#include<iostream>
struct Titem{
int n;
Titem *next;
};
void add_item(Titem *last){
Titem *add = new Titem;
add->n=last->n+1;
last->next=add;
}
bool delete_item(Titem **del)
{
if(*del==NULL)
return false;
Titem *temp=*del;
while(temp->next!=*del)
{
temp=temp->next;
}
temp->next=(*del)->next;
delete *del;
*del=temp;
return true;
}
int main(){
int N, k;
std::cin>>N>>k;
Titem* first=new Titem;
Titem* last=first;
first->n=1;
first->next=first;
while(last->n!=N)//заполняем
{
add_item(last);
last=last->next;
}
last->next=first;
N=0;
while(last->next!=last)
{
N++;
last=last->next;
if(N%k!=0)
continue;
delete_item(&last);
N=0;
}
return last->n;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment