• 牛客小白月赛61 B.柜台结账(模拟+字符串)


    牛客小白月赛61 B.柜台结账(模拟+字符串)

    题面链接:柜台结账
    题目分析:

    这是一道 i f − e l s e if-else ifelse语句的基础题目,由于数据量很大达到了 1 0 1 0 5 10^{10^{5}} 10105,换成 10 10 10进制会有 1 0 5 10^{5} 105位,而我们现阶段的数据类型最多也只能存下几十位大的数,所以这题我们得用别的方法存下来,而什么数据类型能存下 1 0 5 10^5 105的数据呢,显然是字符串类型(String),那么我们就可以使用 s 1 , s 2 s_1,s_2 s1,s2存下 a 1 , a 2 a_1,a_2 a1,a2

    深入探讨:

    我们发现 a 1 a_1 a1是多少并不重要,我们只关系其奇偶性,那么我们只需要判断其最后一位的奇偶性即可,那么我们可以使用字符串的函数 s 1 . b a c k ( ) s_1.back() s1.back()来获取 s 1 s_1 s1的最后一个位置上的字符,但是我们此时取出来的只是一个字符,并不是一个数,对于一个在’ 0 0 0 − - 9 9 9’之间的字符 c c c,我们使用 c c c-' 0 0 0’即可获取到其对应的数值,最后再根据 a 2 a_2 a2 a 2 a_2 a2分成三种情况讨论即可。
    不懂的可以看代码注释:

    inline void solve(){
    	string s1,s2;//使用字符串读入a1,a2
    	cin>>s1>>s2;
    	int a=s1.back()-'0';//获取a1最后一位
    	if(s2[0]=='5'){
    		int f=1;//标记后面是否全是0
    		for(int i=1;i<s2.length();i++){//判断后面是否全是0
    			if(s2[i]!='0'){
    				f=0;
    				break;
    			}
    		}
    		if(f){//后面全是0,那么当前a2=5
    			if(a%2){//当a1为奇数时进位所以多了
    				cout<<"Happy birthday to MFGG"<<endl;
    			}
    			else{//当a1为偶数时去掉小数部分所以少了
    				cout<<"Happy birthday to YXGG"<<endl;
    			}
    		}
    		else{//后面不全是0,那么当前a2>5,因此会进位,所以多了
    			cout<<"Happy birthday to MFGG"<<endl;
    		}
    	}
    	else if(s2[0]>'5'){//a2>5,因此会进位,所以多了
    		cout<<"Happy birthday to MFGG"<<endl;
    	}
    	else if(s2[0]=='0'){//因为不含有前导0,所以a2=0,此时不进不舍,所以不变
    		cout<<"PLMM"<<endl;
    	}
    	else{//0
    		cout<<"Happy birthday to YXGG"<<endl;
    	}
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
  • 相关阅读:
    vue项目如何防范XSS攻击?
    Docker安装与部属
    2.SQL表格属性
    C++ 学习系列 -- std::stack 与 std::queue
    LeetCode高频题33. 搜索旋转排序数组
    Git基本应用<三>:局域网内远程仓库搭建(Git Server)
    蓝牙协议栈分层
    Web3 时代 市场营销的变迁
    MASA MAUI Plugin (四)条形码、二维码扫描功能
    Python数据可视化:如何选择合适的图表可视化?
  • 原文地址:https://blog.csdn.net/m0_56280274/article/details/127930362