社区讨论

第9个点哇了4次

CF12BCorrect Solution?参与者 3已保存回复 2

讨论操作

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

当前回复
2 条
当前快照
1 份
快照标识符
@mi6uce3b
此快照首次捕获于
2025/11/20 10:57
4 个月前
此快照最后确认于
2025/11/20 10:57
4 个月前
查看原帖
先上代码为敬。大致思路就是给a排序,然后处理前导0,然后与b比较【很简单吧,这道题放提高难度觉得有点问题】。其中打注释的是前3次哇。
CPP
#include<bits/stdc++.h>
#define fsb(a,b,c) for (int a=b;a<=c;a++)
using namespace std;
char a[20],b[20];
int cmp(char a,char b){
	return a<=b;
}
int main(){
	a[0]=b[0]='+';
	gets(a+1);gets(b+1);
	int n=strlen(a)-1,m=strlen(b)-1;
	sort(a+1,a+1+n,cmp);
	if (n!=1&&a[1]=='0')
		fsb(i,2,n)
			if (a[i]!='0'){
				swap(a[i],a[1]);break;
			}
	// printf("%s\n%s\n%d\n",a+1,b+1);
	// if (a+1==b+1) printf("OK\n"); else printf("WRONG_ANSWER\n");
	int flag=1;
	fsb(i,1,n) if (a[i]!=b[i]){
		flag=0;break;
	}
	if (flag) printf("OK\n");else printf("WRONG_ANSWER\n");
	return 0;
}

/*
#include<bits/stdc++.h>
#define fsb(a,b,c) for (int a=b;a<=c;a++)
using namespace std;
char a[20],b[20];
inline int cmp(char a,char b){
	return a<=b;
}
int main(){
	a[0]=b[0]='+';
	gets(a+1);gets(b+1);
	// printf("%s\n",a+1);
	int n=strlen(a)-1,m=strlen(b)-1;
	if (m<n){
		printf("WRONG_ANSWER\n");return 0;
	}
	if (n==m&&n==1&&a[1]=='0'){
		if (b[1]=='0') printf("OK\n"); else printf("WRONG_ANSWER\n");
		return 0;
	}
	int minn=1;
	fsb(i,1,n) if (a[i]!='0'&&a[i]<a[minn]) minn=i;
	// printf("%c\n",minn);
	swap(a[1],a[minn]);
	sort(a+1+1,a+1+n,cmp);
	// printf("%s\n",a+1);
	int flag=1;
	fsb(i,1,n) if (a[i]!=b[i]){
		flag=0;break;
	}
	if (flag) printf("OK\n");else printf("WRONG_ANSWER\n");
	return 0;
}
*/

#1 AC 60ms/0KB
#2 AC 30ms/0KB #3 AC 0ms/0KB #4 AC 30ms/0KB #5 AC 0ms/8KB #6 AC 30ms/0KB #7 AC 0ms/24KB #8 AC 30ms/4KB #9 WA

回复

2 条回复,欢迎继续交流。

正在加载回复...