SDUT 불사 대
8658 단어 du
'결사대' 라 고 하면 제 가 영 화 를 소개 하 러 왔 다 고 생각 하지 마 세 요. 데이터 구조 에 이런 프로 그래 밍 문제 가 있 기 때문에 원 제 는 다음 과 같 습 니 다.
M 명의 결사대 원 이 적의 토 치 카 를 폭파 하려 고 하 는데 아무 도 가 고 싶 지 않 았 다. 소대장 은 윤회 수 를 세 는 방법 으로 어느 전사 가 임 무 를 수행 할 것 인 지 를 결정 하기 로 결정 했다.만약 전 전사 가 임 무 를 완성 하지 못 했다 면, 전 사 를 한 명 더 보 내야 한다.현재 모든 전사 에 게 하나의 번 호 를 만들어 주 고 모두 한 바퀴 빙 둘 러 앉 아 어떤 전사 부터 계산 을 시작 합 니 다. 5 까지 셀 때 대응 하 는 전 사 는 임 무 를 수행 하고 이 전 사 는 다음 라운드 에 참가 하지 않 습 니 다.만약 이 전사 가 임 무 를 완성 하지 못 하면, 다음 전사 부터 숫자 를 세 어 5 까지 셀 때, 이 전 사 는 이어서 임 무 를 집행 한다.임 무 를 완수 할 때 까지 이런 식 으로 유추 하 다.
이 문 제 는 원래 '결사대' 라 고 부른다."아무 도 가 고 싶 어 하지 않 는 다" 는 한 마디 에 나 는 이 문제 도 '감히 죽 을 수 없 는 문제' 라 고 부 를 수 밖 에 없다 고 생각한다.오늘 모두 가 이 불사 대 문 제 를 완성 해 야 한다.우 리 는 소대장 이 1 번 이 라 고 가정 하고 위의 소개 에 따라 1 번 부터 5 까지 센 그 전사 가 임 무 를 집행 한다 면 소대장 은 몇 번 째 로 임 무 를 수행 하 는 것 입 니까?
입력
입력 은 다 중 테스트 데 이 터 를 포함 하고 줄 마다 정수 M (0 < = M < = 10000) (결사대 수) 을 입력 합 니 다. 만약 M = = 0, 입력 이 끝나 면 처리 하지 않 습 니 다.
출력
정수 n 을 출력 합 니 다. 소대장 은 n 번 째 로 임 무 를 수행 합 니 다.
예제 입력
9
6
223
0
예제 출력
2
6
132
1 #include<stdio.h>
2 #include<stdlib.h>
3 struct node
4 {
5 int data;
6 struct node *next;
7 };
8 struct node *creat(int n)
9 {
10 struct node *head;
11 struct node *tail;
12 struct node *p;
13 int i;
14 head=(struct node *)malloc(sizeof(struct node));
15 head->next=NULL;
16 tail=head;
17 for(i=1;i<=n;i++)
18 {
19 p=(struct node *)malloc(sizeof(struct node));
20 p->data=i;
21 p->next=NULL;
22 tail->next=p;
23 tail=p;
24 }
25 tail->next=head->next; //
26 return head;
27 }
28 void delect(struct node *head)
29 {
30 struct node *q,*p;
31 int num=1;
32 int count=0;
33 q=head->next;
34 while(q->next!=NULL)
35 {
36 p=q->next;
37 num++;
38 if(num%5==0)
39 {
40 q->next=p->next;
41 count++;
42 if(p->data==1)
43 {
44 printf("%d
",count);break;
45 }
46 }
47 else
48 q=p;
49 }
50
51 }
52 int main()
53 {
54 int n,i,num;
55 struct node *head;
56 while(scanf("%d",&n)&&n!=0)
57 {
58 head=creat(n);
59 delect(head);
60 }
61 return 0;
62 }
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
SDUT 불사 대소대장 은 윤회 수 를 세 는 방법 으로 어느 전사 가 임 무 를 수행 할 것 인 지 를 결정 하기 로 결정 했다.만약 전 전사 가 임 무 를 완성 하지 못 했다 면, 전 사 를 한 명 더 보 내야 한다.현재 모든 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.