算法笔记008——洛谷顺序与分支训练

(抱头鼠窜)我的我的...我知道我不该做水题应该好好学习...

醒了之后无聊但是被力扣打击的体无完肤...我真的是看不懂力扣传的参数都是些个啥...

anyway 重点是看水题 分别是p1422 p1085 p1089 p1909

题目描述

夏天到了,各家各户的用电量都增加了许多,相应的电费也交的更多了。小玉家今天收到了一份电费通知单。小玉看到上面写:据闽价电[2006]27号规定,月用电量在150千瓦时及以下部分按每千瓦时0.4463元执行,月用电量在151~400千瓦时的部分按每千瓦时0.4663元执行,月用电量在401千瓦时及以上部分按每千瓦时0.5663元执行;小玉想自己验证一下,电费通知单上应交电费的数目到底是否正确呢。请编写一个程序,已知用电总计,根据电价规定,计算出应交的电费应该是多少。

输入格式

输入一个整数,表示用电总计(单位以千瓦时计),不超过10000。

输出格式

输出一个数,保留到小数点后1位(单位以元计,保留到小数点后1位)。

输入输出样例

输入 #1
267
输出 #1
121.5

题目描述

津津上初中了。妈妈认为津津应该更加用功学习,所以津津除了上学之外,还要参加妈妈为她报名的各科复习班。另外每周妈妈还会送她去学习朗诵、舞蹈和钢琴。但是津津如果一天上课超过八个小时就会不高兴,而且上得越久就会越不高兴。假设津津不会因为其它事不高兴,并且她的不高兴不会持续到第二天。请你帮忙检查一下津津下周的日程安排,看看下周她会不会不高兴;如果会的话,哪天最不高兴。

输入格式

输入包括777行数据,分别表示周一到周日的日程安排。每行包括两个小于101010的非负整数,用空格隔开,分别表示津津在学校上课的时间和妈妈安排她上课的时间。

输出格式

一个数字。如果不会不高兴则输出000,如果会则输出最不高兴的是周几(用1,2,3,4,5,6,71, 2, 3, 4, 5, 6, 71,2,3,4,5,6,7分别表示周一,周二,周三,周四,周五,周六,周日)。如果有两天或两天以上不高兴的程度相当,则输出时间最靠前的一天。

输入输出样例

输入 #1
5 3
6 2
7 2
5 3
5 4
0 4
0 6
输出 #1
3

题目描述

津津的零花钱一直都是自己管理。每个月的月初妈妈给津津300300300元钱,津津会预算这个月的花销,并且总能做到实际花销和预算的相同。

为了让津津学习如何储蓄,妈妈提出,津津可以随时把整百的钱存在她那里,到了年末她会加上20%20\%20%还给津津。因此津津制定了一个储蓄计划:每个月的月初,在得到妈妈给的零花钱后,如果她预计到这个月的月末手中还会有多于100100100元或恰好100100100元,她就会把整百的钱存在妈妈那里,剩余的钱留在自己手中。

扫描二维码关注公众号,回复: 7728621 查看本文章

例如111111月初津津手中还有838383元,妈妈给了津津300300300元。津津预计111111月的花销是180180180元,那么她就会在妈妈那里存200200200元,自己留下183183183元。到了111111月月末,津津手中会剩下333元钱。

津津发现这个储蓄计划的主要风险是,存在妈妈那里的钱在年末之前不能取出。有可能在某个月的月初,津津手中的钱加上这个月妈妈给的钱,不够这个月的原定预算。如果出现这种情况,津津将不得不在这个月省吃俭用,压缩预算。

现在请你根据2004年1月到12月每个月津津的预算,判断会不会出现这种情况。如果不会,计算到2004年年末,妈妈将津津平常存的钱加上20%还给津津之后,津津手中会有多少钱。

输入格式

121212行数据,每行包含一个小于350350350的非负整数,分别表示111月到121212月津津的预算。

输出格式

一个整数。如果储蓄计划实施过程中出现某个月钱不够用的情况,输出−X-XX,XXX表示出现这种情况的第一个月;否则输出到200420042004年年末津津手中会有多少钱。

注意,洛谷不需要进行文件输入输出,而是标准输入输出。

输入输出样例

输入 #1
290
230
280
200
300
170
340
50 
90 
80 
200
60 
输出 #1
-7 

题目描述

P老师需要去商店买n支铅笔作为小朋友们参加NOIP的礼物。她发现商店一共有 333种包装的铅笔,不同包装内的铅笔数量有可能不同,价格也有可能不同。为了公平起 见,P老师决定只买同一种包装的铅笔。

商店不允许将铅笔的包装拆开,因此P老师可能需要购买超过nnn支铅笔才够给小朋 友们发礼物。

现在P老师想知道,在商店每种包装的数量都足够的情况下,要买够至少nnn支铅笔最少需要花费多少钱。

输入格式

第一行包含一个正整数nnn,表示需要的铅笔数量。

接下来三行,每行用222个正整数描述一种包装的铅笔:其中第111个整数表示这种 包装内铅笔的数量,第222个整数表示这种包装的价格。

保证所有的777个数都是不超过100001000010000的正整数。

输出格式

111个整数,表示P老师最少需要花费的钱。

输入输出样例

输入 #1
57
2 2
50 30
30 27
输出 #1
54
输入 #2
9998
128 233
128 2333
128 666
输出 #2
18407
输入 #3
9999
101 1111
1 9999
1111 9999
输出 #3
89991

 #include <cstdio>
int main()
{
    int n;
    scanf("%d",&n);
    if(n <= 150)
        printf("%.1f",(float)n*0.4463);
    else
    {
        if(n <= 400)
        printf("%.1f",(float)(n-150)*0.4663+150*0.4463);
        else
            printf("%.1f",(float)(n-400)*0.5663+250*0.4663+150*0.4463);
    }
    return 0;
}
(小玉家的电费)

#include <cstdio>
int main()
{
    int a[2][8],j = 1;
    for(int i = 1; i <= 7; i++)
    {
        scanf("%d%d",&a[0][i],&a[1][i]);
        if(j)
        {
            if(a[0][i]+a[1][i] > 8)
            {
                printf("%d\n",i);
                j--;
            }
        }
    }
    return 0;
}
(不高兴的津津)

#include <cstdio>
int main()
{
    int sum = 0,m,t = 1,k = 0;
    for(int i = 1; i <= 12; i++)
    {
        scanf("%d",&m);
        sum += 300 - m;
        if(t)
        {
            if(sum < 0)
            {
                printf("-%d\n",i);
                t--;
            }
        }
        k += sum/100;
        sum %= 100;
    }
    if(t)
    {
        printf("%d",sum+120*k);
    }
    return 0;
}
(津津的储蓄计划)

#include <cstdio>
int main()
{
    int n,quantity,price;
    int minsum = 2147483647,sum;
    scanf("%d",&n);
    for(int i = 0; i < 3; i++)
    {
        scanf("%d%d",&quantity,&price);
        sum = price*((n+quantity-1)/quantity);
        if(minsum > sum)
            minsum = sum;
    }
    printf("%d",minsum);
    return 0;
}
(买铅笔)

猜你喜欢

转载自www.cnblogs.com/jun-ruo-sui-nian/p/suijun_008.html