CF65B WA on 2?
  • 板块学术版
  • 楼主zhouzihang3
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/10/4 14:32
  • 上次更新2024/10/4 15:49:57
查看原帖
CF65B WA on 2?
615166
zhouzihang3楼主2024/10/4 14:32

求条

#include<bits/stdc++.h>
#define ll long long
#define str string
#define rd read()
#define rt write
using namespace std;
int read(){
	char c;
	int x=0,f=1;
	c=getchar();
	while(c<'0'||c>'9'){
		if(c=='-') f=-1;
		c=getchar();
	}
	while(c>='0'&&c<='9'){
		x*=10;
		x+=c-'0';
		c=getchar();
	}
	return f*x;
}
void write(int x){
	if(x<0) putchar('-'),x=-x;
	if(x>9){
		write(x/10);
	}
	putchar(x%10+'0');
	return;
}
int n,l;
int a[1145];
int cha[114]={0,1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100,200,300,400,500,600,700,800,900,1000,2000,3000,4000,5000,6000,7000,8000,9000};
int main(){
	n=rd;
	a[0]=1000;
	for(int i=1;i<=n;i++){
		a[i]=rd;
	}
	for(int i=1;i<=n;i++){
		if(a[i]>a[i-1]){
			l=0;
			while(a[i]-cha[l+1]>=a[i-1]) l++;
			a[i]-=cha[l];
		}
		else if(a[i]<a[i-1]){
			l=0;
			while(a[i]+cha[l+1]<=a[i-1]) l++;
			a[i]+=cha[l];
		}
		if(a[i]>2011||a[i]<1000){
			cout<<"No solution";
			return 0;
		}
	}
	for(int i=1;i<=n;i++){
		rt(a[i]);
		cout<<'\n';
	}
	return 0;
}

2024/10/4 14:32
加载中...