fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int main() {
  5. int a=0;
  6. cin>> a; //количество игроков
  7. struct Node{
  8. int num;
  9. Node* next;
  10. };
  11. Node* p;
  12. Node* y;
  13. Node* b;
  14. Node* z;
  15. Node* x;
  16. y= new Node;
  17. y->num=1;
  18. b=y;
  19. for(int i=0;i+1<a;i++){
  20. p=new Node;
  21. b->next=p;
  22. p->num=i+2;
  23. b=p;
  24. }
  25. p->next=y;
  26. int l=a;
  27. int n=0;
  28. cin>>n; //считалка
  29. z=y;
  30. while(z->next!=z->next->next){
  31. for(int i=0;i+1<n;i++)
  32. z=z->next;
  33. cout<<"выбыл="<<z->num<<endl;
  34. for(int i=0;i+1<l;i++)
  35. z=z->next;
  36. x=z->next;
  37. z->next=z->next->next;
  38. delete x;
  39.  
  40. l--;
  41.  
  42. }
  43. cout<<"выйграл="<<z->num;
  44.  
  45. return 0;
  46. }
Success #stdin #stdout 0s 4348KB
stdin
10
12
stdout
выбыл=2
выбыл=4
выбыл=7
выбыл=1
выбыл=9
выбыл=10
выбыл=6
выбыл=3
выбыл=5
выйграл=8