P2006 趙神牛的遊戲
阿新 • • 發佈:2017-08-11
def i++ 輸入輸出 %d mes 兩個 如果 gin 空格
題目描述
在DNF 中,趙神牛有一個締造者,他一共有k點法力值,一共有m個技能,每個技能耗費的法力值為a[i],可以造成的傷害為b[i],而boss 的體力值為n,請你求出它放哪個技能,才可以打死boss。
當然,趙神牛技術很菜,他一局只放一個技能(這技術……),不過每個技能都可以放無數次。
輸入輸出格式
輸入格式:
輸入文件為dnf.in。
第一行,三個數k,m,n;
後面m行,每行兩個數,表示耗費的法力值和造成的傷害。
輸出格式:
輸出文件為dnf.out。
輸出僅一行,既可以殺死boss 的技能序號,如果有多個,按從小到大的順序輸出,中間用一個空格隔開;如果沒有技能能殺死boss,輸出-1。
輸入輸出樣例
輸入樣例#1:【輸入樣例1】 100 3 5000 20 1000 90 1 110 10000 【輸入樣例2】 50 4 10 60 100 70 1000 80 1000 90 0輸出樣例#1:
【輸出樣例1】 1 【輸出樣例1】 -1
說明
【數據規模】
對於100%的數據,0<=n,m,k<=30000,
a[i],b[i]<=maxlongint,
對每個技能模擬就行,但要註意除數為0,要的輸處理。
#include<iostream> #include<cstdio> #include<string.h> #include<algorithm> #include<math.h> #include<cmath> using namespace std; #define LL long long LL k,n,m,tot; LL a[30019],b[30019],t; int main() { scanf("%lld%lld%lld",&k,&m,&n); for(int i=1;i<=m;i++) scanf("%lld%lld",&a[i],&b[i]); for(int i=1;i<=m;i++) { if(a[i]==0) { printf("%d ",i);tot++; continue; } t=(LL)(k/a[i])*b[i]; if(t>=n) printf("%d ",i),tot++; } if(!tot) cout<<-1; return 0; }
P2006 趙神牛的遊戲