交换数字

交换数字

https://ac.nowcoder.com/acm/contest/82401/B

交换数字

标签: 数学 结论

难度: 适中

思路:

结论题,当a+b为定值时,ab越接近,即|a-b越小,a*b越大,这题就反其道而行之,使|a-b|最大,两个数乘积就越小。

技巧:

当一个数很大时,用字符串存储转为整型时,可以边乘10,边模。

示例:

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
#define rep(i,a,n) for(int i=a;i<=n;i++)
#define MOD 998244353
const int N=200010;
int n;
char a[N],b[N];

int main() 
{
	cin>>n>>&a[1]>>&b[1];
	
	rep(i,1,n)
	{
		if(a[i]>b[i])
			swap(a[i],b[i]);
	}
	
	ll pora=0,porb=0;
  //处理大数
	rep(i,1,n)
	{
		pora=(pora*10+(a[i]-'0'))%MOD;
		porb=(porb*10+(b[i]-'0'))%MOD;

	}
	cout<<pora*porb%MOD;
	
	
	return 0;
}
全部评论

相关推荐

06-12 16:00
天津大学 Java
牛客30236098...:腾讯坏事做尽,终面挂是最破防的 上次被挂了后我连简历都不刷了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务