专栏文章

p13729

题解参与者 1已保存评论 0

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
0 条
当前快照
1 份
快照标识符
@mioakmzy
此快照首次捕获于
2025/12/02 16:03
3 个月前
此快照最后确认于
2025/12/02 16:03
3 个月前
查看原文
省流:多加特判TLE 100->75
代码:
CPP
#include<bits/stdc++.h>
#define int long long
using namespace std;
template<typename T>inline void read(T&x){
	x=0;
	char c;
	int sign=1;
	do{
		c=getchar();
		if(c=='-'){
			sign=-1;
		}
	}while(!isdigit(c));
	do{
		x=x*10+c-'0';
		c=getchar();
	}while(isdigit(c));
	x*=sign;
}
inline void write(int x){
	if(x<0){
		putchar('-');
		x=-x;
	}
	if(x>9)write(x/10);
	putchar(x%10+'0');
}
inline string readstr(){
	string str="";
	char ch=getchar();
	while(ch=='\n'||ch=='\r'){
		ch=getchar();
	}
	while(ch!='\n'&&ch!='\r'){
		str+=ch;
		ch=getchar();
	}
	return str;
}
inline void writestr(string s){
	for(int i=0;s[i]!='\0';i++){
		putchar(s[i]);
	}
}
int check(int x){
	string s="";
	while(x){
		s+=x%10+'0';
		x/=10;
	}
	int cnt=0;
	for(int i=0;i<s.size();i++){
		if((int)(s[i]-'0')%2==1){
			cnt++;
		}
	}
	if(cnt==s.size()){
		return 0;
	}
	else if(cnt==s.size()-1){
		return -2;
	}
	else{
		return -1;
	}
}
int t;
int a;
signed main(){
//	ios::sync_with_stdio(0);
//	cin.tie(0),cout.tie(0);
//	freopen("odd4.in","r",stdin);
	read(t);
	while(t--){
		read(a);
		if(check(a)==0){
			write(0);
			putchar('\n');
		}
		else if(check(a)!=0){
			int op=a;
			string s1=" ";
			bool f=1;
			int cntt=0;
			while(op){
				s1+=op%10+'0';
				op/=10;
				cntt++;
			}
			reverse(s1.begin(),s1.end());
			s1.erase(cntt);
			for(int i=0;i<cntt;i++){
				if(s1[i]!=' '){
					if(f==0){
						s1[i]='1';
					}
					if((s1[i]-'0')%2==0){
						s1[i]+=1;
						f=0;
					}
				}
			}
//			if(check(a)==-2){
				int ans=0;
				for(int i=0;i<cntt;i++){
					ans+=(int)(s1[i]-'0')*(pow(10,cntt-i));
				}
				ans/=10;
				write(ans-a);
				putchar('\n');
//			}
//			else{
//				int anss=0;
//				bool opop=1;
//				while(opop==1){
//					anss++;
//					if(check(a+anss)==0){
//						opop=0;
//					}
//				}
//				write(anss);
//				putchar('\n');
//			}
		}
	}
	
	
	
	
	
	return 0;
}
思路: 把其中偶数的最高位+1,后面位数全部变成1

评论

0 条评论,欢迎与作者交流。

正在加载评论...