全Wa但是同机房代码对拍没问题
查看原帖
全Wa但是同机房代码对拍没问题
795463
Mu_shao楼主2024/11/26 19:40

很神奇,考虑的甚至比同机房的周全,而且样例全过,不知道错哪里。

记录

#include<bits/stdc++.h>
using namespace std;
int st, ed, cnt;
struct node {
	char c[5];
	int st, len;
	bool nl;
} a[8];

int main() {
	a[0].nl = 1;
	for (int i = 1; i <= 8; i++) {
		for (int j = 1; j <= 4; j++)
			scanf("%c:", &a[i].c[j]);
		a[i].st = 1;
	}
	for (int i = 1; i <= 8; i++) {
		bool f = 1;
		for (int j = 1; j <= 4; j++)
			if (a[i].c[j] == '0' && f) a[i].st++;
			else f = 0;
		if (a[i].st == 5) a[i].nl = 1, a[i].st--;
		if (a[i].nl) a[i].len = 1;
		if (a[i].nl && a[i-1].nl) a[i].len = max(a[i].len, a[i-1].len+1);
		if (a[i].len > cnt) cnt = a[i].len, ed = i;
	}
	for (int i = ed; i >= 1; i--)
		if (!a[i-1].len) {
			st = i;
			break;
		}
	if (ed == 1) st = 1;
	if (st == 1) printf(":");
	for (int i = 1; i <= 8; i++) {
		if (st == ed) {if(i == st) printf(":");}
		else if (i == ed-1) printf(":");
		if (i >= st && i <= ed) continue;
		for (int j = a[i].st; j <= 4; j++)
			printf("%c", a[i].c[j]);
		i == 8 ? : printf(":");
	}
	return 0;
}
2024/11/26 19:40
加载中...