定义了C++数组,还是TLE
查看原帖
定义了C++数组,还是TLE
1376088
tiantian0820楼主2025/6/24 10:29
#include<iostream>
using namespace std;
//int P1239 计数器
//定义了C++数组,还是TLE 
char c[10]= {'0','0','0','0','0','0','0','0','0','0'}; //num
char d[10]= {'0','0','0','0','0','0','0','0','0','0'}; //i循环变量 
int f[10];//cnt 
char r() {//这个函数没问题 
	char s=getchar();
	if(s>='0'&&s<='9') {
		char i=r();
		c[i]=s;
		return i-1;
	} else {
		return 9;
	}
} 
void dd(int i,bool p) {
	char x='9';
		if(p){x=c[i];
		}	
	//这段代码
//Subtask #0 AC Accepted, 得分 .ok accepted
//Subtask #1 TLE Time Limit Exceeded.	
			
	for(d[i]='0'; d[i]<=x; d[i]++) {
		bool l=(d[i]==c[i]&&p);
		if(i==9) {
			bool o=1;
			for(int j=0; j<=9; j++) {
				if(d[j]=='0'&&o) {
					continue;
				} else if(o) {
					o=0;
				}
				f[d[j]-'0']++;
			}
		} else {
			dd(i+1,l);
		}
	}
}
int main() {
	r();bool g=0;
	for(int m=0; m<=9; m++) {
		g=g||(g=='0');
	}if(g){cout<<"1\n0\n0\n0\n0\n0\n0\n0\n0\n0\n";
	}// 
	dd(0,d[0]==c[0]);
	for(int m=0; m<=9; m++) {
		cout<<f[m]<<'\n';
	}


return 0;
}
2025/6/24 10:29
加载中...