求调
查看原帖
求调
1227116
Max_LS楼主2024/10/1 21:16
#include<iostream>
using namespace std;
struct node{
	int value;
	node *next;
};
node* head=new node;
int n,list_count=1,day_all=0,day_sub=0;
bool find_list=0;
void insert_tail(int i){
	node* pointer=head;
	while(pointer->next!=NULL){
		pointer=pointer->next;
	}
	node* new_node=new node;
	new_node->value=i;
	new_node->next=NULL;
	pointer->next=new_node;
	list_count++;
}
void delete_node(int sub){
	node* pointer=head;
	if(sub==1){
		head=head->next;
		delete pointer;
		if(head->value==n){
			find_list=1;
		}
	}
	else{
		for(int i=1;i<sub;i++){
			pointer=pointer->next;
		}
		cout<<pointer->value<<' '<<sub<<endl;
		pointer->next=pointer->next->next;
	}
	list_count--;
}
int main(){
	cin>>n;
	head->value=1;head->next=NULL;
	for(int i=2;i<=n;i++){
		insert_tail(i);
	}
	while(list_count!=0){
		int cur=list_count;
		for(int i=1;i<=cur;i=i+3){
			delete_node(i);
			if(find_list!=1){
				day_sub++;
			}
		}
		day_all++;
	}
	cout<<day_all<<' '<<day_sub;
	return 0;
}
2024/10/1 21:16
加载中...