首页 > 其他 > 详细

题解 CF1191A 【Tokitsukaze and Enhancement】

时间:2020-04-02 10:16:45      阅读:53      评论:0      收藏:0      [点我收藏+]

感觉各位都是直接得结论,,

那么说一下我的思路。

考虑用四个变量 A,B,C,D,分别记录初始的 HP

然后直接if判断

即可


一些细节:

因为我们希望使等级最高,所以当然考虑从可能是 A 等级的情况判断

如果不能一步登天,那么把对应的 A 变量加一,然后判断

然后以此类推

即可

下面代码里的那些*+=1也就是考虑让他们加上题目允许加的 HP 的点数

参考代码:

#include <iostream>
#include <stdio.h>

using namespace std;

int HP, A, B, C, D;

int main()
{
    scanf("%d", &HP);
    A=B=C=D=HP;
    //if can be "A"
    if(A%4==1) {printf("0 A\n"); return 0;}
    A+=1;
    if(A%4==1) {printf("1 A\n"); return 0;}
    A+=1;
    if(A%4==1) {printf("2 A\n"); return 0;}
    //if can be "B"
    if(B%4==3) {printf("0 B\n"); return 0;}
    B+=1;
    if(B%4==3) {printf("1 B\n"); return 0;}
    B+=1;
    if(B%4==3) {printf("2 B\n"); return 0;}
    //if can be "C"
    if(C%4==2) {printf("0 C\n"); return 0;}
    C+=1;
    if(C%4==2) {printf("1 C\n"); return 0;}
    C+=1;
    if(B%4==2) {printf("2 C\n"); return 0;}
    //if can be "D"
    if(D%4==0) {printf("0 D\n"); return 0;}
    D+=1;
    if(D%4==0) {printf("1 D\n"); return 0;}
    D+=1;
    if(D%4==0) {printf("2 D\n"); return 0;}

    return 0;
}

题解 CF1191A 【Tokitsukaze and Enhancement】

原文:https://www.cnblogs.com/BlueInRed/p/12617412.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!