社区讨论

过不了求调

B4058[语言月赛 202411] 三角含数参与者 2已保存回复 2

讨论操作

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

当前回复
2 条
当前快照
1 份
快照标识符
@m4vd4rtb
此快照首次捕获于
2024/12/19 21:34
去年
此快照最后确认于
2025/11/04 12:37
4 个月前
查看原帖
个人认为思路没问题可就是过不了(悲
CPP
#include<bits/stdc++.h>
using namespace std;
int a[9], l, r, ans;
int zh1[20] = {6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 5, 5, 5, 5, 5, 5, 4, 4, 4, 3},
    zh2[20] = {5, 5, 5, 5, 4, 4, 4, 3, 3, 2, 4, 4, 4, 3, 3, 2, 3, 3, 2, 2},
    zh3[20] = {4, 3, 2, 1, 3, 2, 1, 2, 1, 1, 3, 2, 1, 2, 1, 1, 2, 1, 1, 1};
bool tri(int x) {
	a[1] = x % 10, a[2] = x % 100 / 10, a[3] = x % 1000 / 100, a[4] = x % 10000 / 1000, a[5] = x % 100000 / 10000, a[6] = x / 100000;
//	for (int i = 1; i <= 6; i++)
//		cout << a[i] << endl;
	sort(a + 1, a + 7);
//	for (int i = 1; i <= 6; i++)
//		cout << a[i] << endl;
	for (int i = 0; i <= 19; i++) {
		int kk=  max(a[7 - zh3[i]], a[7 - zh1[i]]);
		kk=max(kk, a[7 - zh2[i]]);
		if (a[zh1[i]] < a[zh2[i]] + a[zh3[i]] &&kk < a[7 - zh3[i]] + a[7 - zh1[i]] + a[7 - zh2[i]] -kk) {
//			cout << zh1[i] << " " << zh2[i] << " " << zh3[i]<<endl;
			return true;
		}
	}
	return false;
}
bool hs(int x) {
	int n = x;
	while (n != 0) {
		if (n % 10 == 0) return false;
		n /= 10;
	}
	if (tri(x) == false) return false;
	return true;
}
int main() {
	cin>>l>>r;
	for(int i=l; i<=r; i++) {
		if(hs(i)==true) ans++;
	}
//	cout << tri(123456);
	cout<<ans;
	return 0;
}


回复

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

正在加载回复...