社区讨论
求解c语言80分
P1007独木桥参与者 3已保存回复 3
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 3 条
- 当前快照
- 1 份
- 快照标识符
- @m3458e53
- 此快照首次捕获于
- 2024/11/05 15:43 去年
- 此快照最后确认于
- 2025/11/04 15:18 4 个月前
C
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <time.h>
#include <ctype.h>
int max(int x, int y){
if (x > y) {
return x;
} else {
return y;
}
}
int min(int x, int y){
if (x < y) {
return x;
} else {
return y;
}
}
int main() {
int len = 0;
scanf("%d", &len);
int N;
scanf("%d", &N);
int pp[N];
for (int i = 0; i < N; i++){
scanf("%d", &pp[i]);
}
if(N == 0){
printf("0 0");
return 0;
}
if(len == 1){
printf("1 1");
return 0;
}
for(int i = 0; i < N; i++){
for(int j = 0; j < N-i-1; j++){
if(pp[j] > pp[j+1]){
// 交换元素
int temp = pp[j];
pp[j] = pp[j+1];
pp[j+1] = temp;
}
}
}
int min_time = 0;
int max_time = 0;
for (int i=1;i<=N; i++){
min_time=max(min(pp[i],len+1-pp[i]),min_time);
}
max_time=max(len+1-pp[0],pp[N-1]);
printf("%d %d", min_time, max_time);
return 0;
}
回复
共 3 条回复,欢迎继续交流。
正在加载回复...