WA8、9两个点请问是为什么呢
查看原帖
WA8、9两个点请问是为什么呢
459428
85LP楼主2023/3/29 21:14

WA点8、9请问是为什么呢

#include <iostream>
#include <algorithm>
#include <string.h>
using namespace std;
long long n;
int a,b;
int num[20]; 
int get(long long n){
	memset(num,-1,sizeof(num));
	int k=0;
	while(n){
		long long x=n%10;
		long long y=n/10;
		num[k++]=x;
		n=y;
	}
	return k;
}
int main(){
	cin>>n>>a>>b;
	int k=get(n);
	
	for(int i=k-1;i>=0;i--){
		if(num[i]<5&&(num[i]<b)){
			b-=num[i]+1;
			num[i]=9;
		}
		else if(a>0){
			if(9-num[i]<=a){
				a-=9-num[i];
				num[i]=9;
			}
			else{
				num[i]+=a;
				a=0;
			}
		}
	}
	for(int i=k-1;i>=0;i--){
		cout<<num[i];
	}
	cout<<endl;
	return 0;
}
2023/3/29 21:14
加载中...