NC237202. 拯救萝莉(easy version)
描述
输入描述
第一行输入两个正整数表示城堡的数目以及单向运兵路线的数目。接下来行,每行输入三个非负整数表示从号城堡到号城堡的防御力,敌人总数,以及人口数。接下来行,每行输入两个正整数表示一条单向运兵线路。输入保证这些运兵线路构成一个DAG图,且从号城堡可到达所有城堡。easy version额外限制:保证且对于,城堡到城堡必定存在运兵路线。
输出描述
仅一行一个整数,表示清楚姐姐一开始在号城堡中训练多少群友才能达成目标。
示例1
输入:
3 2 0 1 99 100 100 0 1 2 2 3
输出:
3
说明:
示例2
输入:
2 1 100 1 0 1 2
输出:
100
说明:
示例3
输入:
2 1 1 100 0 1 2
输出:
101
说明:
注意至少需要人存活才能占领城堡。示例4
输入:
10 9 5 7 6 0 9 5 9 2 2 8 7 9 10 2 0 4 3 5 4 10 8 9 8 8 1 2 8 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10
输出:
14
C++ 解法, 执行用时: 5ms, 内存消耗: 428K, 提交时间: 2022-06-01 20:39:14
#include <bits/stdc++.h> using namespace std; int main() { long long int n,m,sum=0,q=0; cin>>n>>m; for(int i=2;i<=n;i++){ long long int x,y,z; cin>>x>>y>>z; if(q<x){ sum=sum+x-q; q=x; } if(q>=y){ q-=y; }else{ sum=sum+y-q; q=0; } if(q==0){ sum++; q++; } q+=z; } for(int i=1;i<=m;i++){ long long int t,tt; cin>>t>>tt; } cout<<sum; }