HDU 4252


http://acm.hdu.edu.cn/showproblem.php?pid=4252

開始想得比較複雜,暴力搜索過了(離散化)

import java.util.Scanner;
public class CityBuild{
	int n;
	int a[];
	boolean flage[];
	int ans = 0;
	public void solve(){
		Scanner sc = new Scanner(System.in);
		int x=1;
		while(sc.hasNext()){
			n = sc.nextInt();
			a  = new int[n+1]; flage = new boolean[n+1];
			ans = 0;
			for(int i=1; i<=n; i++){
				a[i] = sc.nextInt();
				if(a[i] ==0)
				flage[i] = true;
			}
			for(int i=1; i<=n; i++){
				if( flage[i] || a[i]==0)
					continue;
				int t = a[i];
				for(int j=i+1; j<=n; j++){
					if(a[j] == t)
						flage[j] = true;
					else if( a[j] < t)
						break;
				}
			}
			for(int i=1; i<=n ; i++){
				if( !flage[i]) ans ++;
			}
			System.out.println("Case "+(x)+": "+ans);
			x++;
		}
	}
	public static void main(String[] args) {
		new CityBuild().solve();
	}
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章