牛客练习赛20 托米历险记
生活随笔
收集整理的這篇文章主要介紹了
牛客练习赛20 托米历险记
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
鏈接:
https://www.nowcoder.com/acm/contest/128/E
來源:??途W
時間限制:C/C++ 1秒,其他語言2秒
空間限制:C/C++ 262144K,其他語言524288K
64bit IO Format: %lld
每個人都 有且僅有一張面值為25或50或100元的鈔票.一張電影票的價格是25元.
托米想知道售票員能否在初始金錢為0并且按排隊順序售票的情況下完成找零.
來源:??途W
時間限制:C/C++ 1秒,其他語言2秒
空間限制:C/C++ 262144K,其他語言524288K
64bit IO Format: %lld
題目描述
這天,托米家的電影院門口排起了長隊--因為最新的電影"托米歷險記"就要上映了!每個人都 有且僅有一張面值為25或50或100元的鈔票.一張電影票的價格是25元.
托米想知道售票員能否在初始金錢為0并且按排隊順序售票的情況下完成找零.
輸入描述:
第一行一個數字n,表示排隊的人的數量. 第二行n個數字,第i個數字為ai,表示隊伍中第i個人所持有的鈔票的面值.輸出描述:
如果售票員能完成找零,輸出"YES"(不含引號). 反之輸出"NO".可以將定義三個變量,a1,a2,a3分別代表25 50 100,第一從輸入 必須是25否則輸出NO ,然后當輸入25時a1++
輸入50時a2++,a1--,當輸入100時為了 下次易于找零,先找零50 25 ,若不滿足則找零25*3否則輸出N0,具體細節看代碼
#include<iostream> #include<cstdio> using namespace std; const int maxn=10001; int main() {int n,a,a1,a2,a3,t=0;a1=a2=a3=0;scanf("%d",&n);for(int i=1;i<=n;i++){scanf("%d",&a);if(i==1&&a!=25) {printf("NO\n");break;}else{if(a==25) a1++;else{if(a==50&&a1>0) {a2++;a1--;}else if(a==50&&a1<=0) {printf("NO\n");break;}else{if(a==100&&a1>0&&a2>0) {a2--;a1--;}else if(a==100&&a1>=3&&a1==0){a1-=3;}else {printf("NO\n");break;}}}}t++;}if(t==n) printf("YES\n");return 0; }總結
以上是生活随笔為你收集整理的牛客练习赛20 托米历险记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Golang项目实战】手把手教你写一个
- 下一篇: 教你如何辨别网站是用Vue.js还是Re