首页 > 试题广场 >

牛牛拉票

[编程题]牛牛拉票
  • 热度指数:298 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
牛客网即将通过投票选举新一代的牛王。
牛牛暗地里打听到,只要他的票数不少于L,那就一定会当选。
于是他开始拼命的进行拉票,已知开始时他有S张票,第二天,他的票数会变为,第三天他的票数会变为,以此类推
现在他想知道第D天,他的票数是否不少于L票

输入描述:
第一行一个整数T,表示测试数据组数
对于每组测试数据,输入四个整数,表示L, D, S, C


输出描述:
输出共有T行
对于每组数据,若牛牛的票数不少于L,则输出YES,否则输出NO
示例1

输入

2
1 2 1 1 
6 2 2 1

输出

YES
NO

说明

对于第一组数据,开始时有一张票,经过一天变为1 + 1 \times 1 = 2张票,大于1,因此牛牛会成功

对于第一组数据,开始时有两张票,经过一天变为张票,小于6,因此牛牛不会成功


备注:

对于的数据,

对于的数据,


const readline = require('readline');

const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
});

//这里代表题目中设定好的输入的行数
var rows = []; //用于存储每行的输入

rl.on('line', function (line) {
    rows.push(line);//将每次输入的行数据存入
   


        let t = parseInt(rows[0])
        if(t == rows.length-1){
              for(let i = 1; i < rows.length; i++){
              let l = parseInt(rows[i].split(' ')[0])//不少于L
              let d = parseInt(rows[i].split(' ')[1])//D天
              let s = parseInt(rows[i].split(' ')[2])
              let c = parseInt(rows[i].split(' ')[3])

              for(let j = 0; j < d-1; j++){
                 s = s*(c+1) 
              }
              if(s < l){
                  console.log('NO')
              }else{
                  console.log('YES')
              }

          }
              rows.length = 0;//状态重置
        }
  

});

发表于 2022-03-20 22:49:53 回复(0)