题目描述
输入
输出
示例输入
2 2 1 2 2 2
示例输出
Yes No
#include <iostream> #include <cstdlib> using namespace std; struct node { int num; struct node *next; }; int main() { int i,m,n,k,j,l,x; while(cin>>n>>m>>x) { int coun=0; int nu=0; struct node *head,*tail,*p; p=(struct node *)malloc(sizeof(struct node)); p->num=1;p->next=NULL; head=p; tail=p; for(i=2;i<=n;i++) { p=(struct node *)malloc(sizeof(struct node)); p->num=i; tail->next=p; tail=p; p->next=NULL; } tail->next=head; struct node *u,*v; u=head; while(u->next!=head) u=u->next; while(coun<n-1) { v=u->next; nu++; if(nu%m==0) { u->next=v->next; free(v); coun++; } else u=v; } if(u->num==x) cout<<"Yes"<<endl; else cout<<"No"<<endl;
} }