过了,但是有个问题
查看原帖
过了,但是有个问题
857786
MhxMa楼主2023/12/15 22:30
#include<bits/stdc++.h>
using namespace std;

int mp[8][5], cnt, res;
int main() {
	int n;
	cin >> n;
	for (int i = 1; i <= n; i++) {
		for (int j = 1; j <= 5; j++) {
			cin >> mp[i][j - 1];
		}
	}
	int ans[5] = {0};
	for (ans[0] = 0; ans[0] <= 9; ans[0]++) {
		for (ans[1] = 0; ans[1] <= 9; ans[1]++) {
			for (ans[2] = 0; ans[2] <= 9; ans[2]++) {
				for (ans[3] = 0; ans[3] <= 9; ans[3]++) {
					for (ans[4] = 0; ans[4] <= 9; ans[4]++) {
						int f = 0;
						for (int j = 1; j <= n; j++) {
							cnt = 0;
							for (int i = 1; i <= 5; i++) {
								if (ans[i - 1] != mp[j][i - 1]) cnt++;
							}
							if (cnt == 0 || cnt >= 3) {
								f = 1;
							} else if (cnt == 1) {
								continue;
							} else {
								for (int i = 1; i <= 5; i++) {
									if (ans[i - 1] != mp[j][i - 1]) {
										if (i != 5 && (mp[j][i] != ans[i])) {
											if ((mp[j][i - 1] + 10 - ans[i - 1]) % 10 == (mp[j][i] + 10 - ans[i]) % 10) {
												// if(abs(mp[j][i-1]-ans[i-1])==abs(mp[j][i]-ans[i])){
												break;
											} else {
												f = 1;
												break;
											}
										} else {
											f = 1;
											break;
										}
									}
								}
							}
							if (f == 1) {
								break;
							}
						}
						if (f == 0) {
							res++;
						}

					}
				}
			}
		}
	}
	cout << res << endl;
	return 0;
}



打注释的那一行和打注释的上一行有什么区别,感觉没有,但是结果不一样

2023/12/15 22:30
加载中...