hdoj 1257 최소 차단 시스템 [간단 한 문제]
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 27194 Accepted Submission(s): 10726
Problem Description
한 나 라 는 적국 의 미사일 공격 을 방어 하기 위해 미사일 요격 시스템 을 발전 시 켰 다. 그러나 이 미사일 요격 시스템 은 첫 번 째 포탄 이 임의의 높이 에 도달 할 수 있 지만 이후 에는 모든 포탄 이 앞의 높이 를 초과 할 수 없다 는 결함 이 있다. 어느 날 레 다 는 적국 의 미사일 습격 을 포착 했다. 이 시스템 은 아직 시험 단계 이기 때문에 시스템 이 하나 밖 에 없다.그래서 모든 미사일 을 차단 하지 못 할 수도 있다.
어 떡 하지?시스템 을 몇 세트 더 만 들 지!말 하기는 쉬 운 데, 원 가 는?비용 은 큰 문제 입 니 다. 그래서 저 는 이곳 에 와 서 구 조 를 구 했 습 니 다. 최소한 몇 개의 차단 시스템 이 필요 한 지 계산 해 주세요.
Input
몇 개의 데 이 터 를 입력 하 십시오. 각 조 의 데 이 터 는 미사일 총 개수 (정수), 미사일 이 이에 따라 날 아 오 는 높이 (레이더 가 제시 한 높이 데 이 터 는 30000 이상 의 정수 가 아니 라 빈 칸 으로 구분) 를 포함 합 니 다.
Output
각 조 의 데이터 출력 에 대응 하여 모든 미사일 을 차단 하려 면 적어도 몇 세트 의 이런 미사일 차단 시스템 을 갖 추어 야 합 니까?
Sample Input
8 389 207 155 300 299 170 158 65
Sample Output
2
Source
浙江工业大学第四届大学生程序设计竞赛
思路:
就是用导弹的高度来决定拦截系统的高度,然后每次都更新所有的已经存在的拦截系统的高度,如果没有大于等于导弹的高度的拦截系统,就只能添加一个拦截系统,然后继续遍历,直到遍历完为止!(记住从第一个导弹就开始遍历,而不能一直更新新添加的那个拦截系统的高度值,不满足的话才遍历。而应该直接遍历所有的!这样的话,你是找大于等于该拦截系统的值,进行更新的!)
代码:
#include
#include
int a;//
int b[100000];//
int main()
{
int n,cnt;//n ,cnt
while(scanf("%d",&n)!=EOF)
{
memset(b,0,sizeof(b));//b
cnt=0;
for(int i=0;i=a)//
{
b[j]=a;
break;
}
}
if(j>cnt)// ,
{
b[++cnt]=a;// , , b
}
}
printf("%d
",cnt);
}
return 0;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Deu Bracitoi Seqnsia텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.