求hack
查看原帖
求hack
297798
FANTA5TlC楼主2021/11/7 22:08
// CSP-J 2021 RP += INFINITY
#include<bits/stdc++.h>
//#define int long long
using namespace std;
map<string, int> S;
int main(){
//signed main(){
//	freopen("network.in", "r", stdin);
//	freopen("network.out", "w", stdout);
	int n;
	cin >> n;
	for (int i = 1; i <= n; ++i){
		if (i > n) return 0;
		bool flag = true;
		string op, ad;
		int x[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, cnt = 1, dian = 0, mao = 0;
		cin >> op >> ad;
		if (ad[ad.size() - 1] == ':')
			flag = false;
		if (ad[0] == '.')
			flag = false;
		for (int j = 0; j < ad.size(); ++j){
			if (flag == false) break;
			if (cnt > 5) flag = false; 
			if (ad[j] == '0' && x[cnt] == 0)
				flag = false;
			if (ad[j] >= '0' && ad[j] <= '9')
				x[cnt] = x[cnt] * 10 + ad[j] - '0';
			if (x[cnt] >= 255 && cnt <= 4)
				flag = false;
			else if (ad[j] == ':'){
				++cnt;
				if (dian != 3)
					flag = false;
				++mao;
			} else if (ad[j] == '.'){
				++cnt;
				++dian;
			}
			if (ad[j] == '.' && ad[j + 1] == '.')
				flag = false;
		}
		if (dian != 3 || mao != 1)
			flag = false;
		for (int j = 1; j <= 4; ++j)
			if (x[j] < 0 || x[j] > 255)
				flag = false;
		if (x[5] < 0 || x[5] > 65535)
			flag = false;
		if (flag == false){
			cout << "ERR" << endl;
			continue;
		}
		if (op == "Server"){
			if (S[ad] != 0){
				cout << "FAIL" << endl;
				continue;
			}
			S[ad] = i;
			cout << "OK" << endl;
		}
		if (op == "Client"){
			if (S[ad] == 0){
				cout << "FAIL" << endl;
				continue;
			}
			cout << S[ad] << endl;
		}
	}
	return 0;
}

rt,求hack数据,要求:IP合法但该程序输出ERR

2021/11/7 22:08
加载中...