0
已解决
包涵宇
中级天翼
中级天翼
献上0分代码!!!
#include <iostream>
#include <cstdio>
#include <string>
using namespace std;
int n,a[510],b[510],j=1;
int main(){
a[0]=0;
while(1){
int s=0;
cin>>n;
if(n==-1)break;
for(int i=1;i<=n;i++){
cin>>a[i];
if(a[i]>a[i-1])s++;
}
b[j++]=s;
}
for(int i=1;i<j;i++)cout<<b[i]<<"\n";
return 0;
}
进过我的检查,代码主题无误,样例真确!!!
不要代码!!!只要错误原因!!!
0
已采纳
董子墨
中级天翼
中级天翼
你的贪心思路不对
具体思路信息学奥赛一本通上有
董子墨在2020-03-27 13:17:42追加了内容
你遍历到当前这个卫星的时候,应该遍历之前所有系统,如果这个卫星高于之前所有系统的高度,就应该再增设一套系统;如果这个卫星不高于之前的某一套系统的最低高度,就应该把那套系统的最低高度变成这个卫星的高度;如果有多套系统符合条件,就选择符合条件的系统中高度最低的。
0
0
董宇昊
初级启示者
初级启示者
献上核心代码:
while循环(true) {
输入>>n;
如果(n == -1) 退出循环;
count = 0;
for循环(int i=1; i<=n; i++) {
输入 >> s[i];
}
for循环(int i=1; i<=n; i++) {
bool flag = false;
for循环(int j=1; j<=count; j++) {
如果(last[j] >= s[i]) {
last[j] = s[i];
flag = true;
退出循环;
}
}
望采纳,谢谢!
0