ぱーぽーの競プロ記

競技プログラミングに関することを書きます。

AOJ 0239 Calorie Counting

問題文はこちら↓
http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0239


・概要
タンパク質、脂質、糖質、カロリーの値がそれぞれの制限値を超えないかどうかを判定する問題です。
問題文が日本語なのであとは省略


・解法
やるだけ問題です。
注意するところは、制限値を超えるかどうかの判定は「未満」ではなく「以下」です。
(こちらもJavaで書きました)


ソースコード

import java.util.*;

public class aoj0239{
    void run(){
	Scanner sc = new Scanner(System.in);
	
	while(true){
	    int n = sc.nextInt();
	    if(n==0)break;

	    int[] id = new int[n];
	    int[] p  = new int[n];
	    int[] q  = new int[n];
	    int[] r  = new int[n];
	  
	    for(int i = 0 ; i < n ; i++){
		id[i] = sc.nextInt();
		p[i]  = sc.nextInt();
		q[i]  = sc.nextInt();
		r[i]  = sc.nextInt();
	    }
	    
	    int P = sc.nextInt();
	    int Q = sc.nextInt();
	    int R = sc.nextInt();
	    int C = sc.nextInt();
	    
	    boolean flag = false;
	    for(int i = 0 ; i < n ; i++){
		if(p[i] <= P && q[i] <= Q && r[i] <= R && 4*(p[i]+r[i])+9*q[i] <= C){
		    flag = true;
		    System.out.println(id[i]);
		}
	    }

	    if(!flag)System.out.println("NA");
	}
    }

    public static void main(String[] args){
	new aoj0239().run();
    }
}