PTA 7-28猴子选大王(20分)

PTA 7-28猴子选大王(20分)

代码:



import java.util.*;
public class Main {
//头结点为空
public Node head=null;
/**
* 结点类
* @author Administrator
*
*/
class Node
{
int data;
int newdata=0;
Node next=null;
public Node(int data)
{
this.data=data;
}
}
public void insertNode(int data)
{
//实例化一个结点
Node newNode=new Node(data);
if(head==null) head=newNode;
else 
{
Node temp=head;
while(temp.next!=null)
{
temp=temp.next;
}
temp.next=newNode;
}
}
public void circula()
{
Node temp=head;
while(temp.next!=null)
temp=temp.next;
temp.next=head;

}
public void show2()
{
Node temp=head;
System.out.printf(temp.data+" ");
while(temp.next!=head)
{
System.out.printf(temp.next.data+" ");
temp=temp.next;
}
System.out.println(temp.next.data);
}
public void deleteNode(int data)
{
Node temp=new Node(data);
Node pre=head;
Node p=pre.next;
if(temp.data!=head.data)
{
while(p.data!=temp.data)
{
pre=pre.next;
p=p.next;
}
pre.next=p.next;
}
else
{
while(p.next!=head)
p=p.next;
head=pre.next;
p.next=head;

}
}
public Node A(int num)
{
Node temp=head;
while(num!=1)
{

for(int i=1;i<=3;i++)
{
temp.newdata=i;
if(temp.newdata%3!=0)
{
temp=temp.next;
}
else
{
int data=temp.data;
temp=temp.next;
deleteNode(data);
num=num-1;
}

}

}

return head;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Main m=new Main();
Scanner sc = new Scanner(System.in);

int num=sc.nextInt();
for(int i=1;i<=num;i++)
{
m.insertNode(i);
}
//m.show();
//System.out.println();
m.circula();
//m.show2();
Node h=m.A(num);
System.out.println(h.data);




}
}