c++求调,错的全都是too long on line 1
查看原帖
c++求调,错的全都是too long on line 1
400468
Aakkosetsumussa楼主2023/4/5 14:26
#include<bits/stdc++.h>
using namespace std;
typedef long long inr;
typedef unsigned long long unr;
typedef long double onr;
#define fr(y) for(inr i=1;i<=y;i++,cout<<endl)
#define fr(a) for(inr i=1;i<=a;i++)
#define pb(a) push_back(a)
#define mp(a,b) make_pair(a,b)
#define fi first
#define se second
inr T,k,n,m,t1,t2,a[1005][1005],b[1005][1005];
vector<int>c1[1005];
vector<pair<int,int> >c2[1005];
vector<int> c3[1005];
vector<pair<int,int> >c4[1005];
int main() {
	ios::sync_with_stdio(false);
	cin>>n>>m>>t1>>t2;
	if(t2==0) {
		int u,v,fg1=0,fg2=0;
		fr(m) {
			cin>>u>>v;
			if(a[u][v]==1) fg1=1;
			if(u==v) fg2=1;
			if(t1==0) {
				a[u][v]=a[v][u]=1;
				b[u][i]=b[v][i]=1;
				c1[u].pb(v);
				c1[v].pb(u);
			} else {
				a[u][v]=1;
				b[u][i]=1,b[v][i]=-1;
				c1[u].pb(v);
				c3[v].pb(u);
			}
		}

		if(!fg1) {
			fr(n)
			for(int j=1; j<=n; j++)
				cout<<a[i][j]<<" ";
			cout<<endl;
		}

		if(!fg2) {
			fr(n)
			for(int j=1; j<=m; j++)
				cout<<b[i][j]<<" ";
			cout<<endl;
		}

		fr(n) {

			for(int j=0; j<c1[i].size(); j++) cout<<c1[i][j]<<" ";
			cout<<endl;
		}

		{
			int num=0,A[1005],B[1005];
			A[1]=1;
			for(int i=2; i<=n+1; i++) {
				A[i]=A[i-1]+c1[i-1].size();
			}
			fr(n) {
				for(int j=0; j<c1[i].size(); j++) B[++num]=c1[i][j];
			}
			fr(n+1) cout<<A[i]<<" ";
			cout<<endl;
			fr(num) cout<<B[i]<<" ";
			cout<<endl;
		}

		if(t1==1) {
			int num=0,A[1005],B[1005];
			A[1]=1;
			for(int i=2; i<=n+1; i++) {
				A[i]=A[i-1]+c3[i-1].size();
			}
			fr(n) {
				for(int j=0; j<c3[i].size(); j++) B[++num]=c3[i][j];
			}
			fr(n+1) cout<<A[i]<<" ";
			cout<<endl;
			fr(num) cout<<B[i]<<" ";
			cout<<endl;
		}
	} 
	else {
		int u,v,d,fg1=0;
		fr(m) {
			cin>>u>>v>>d;
			if(a[u][v]>0) fg1=1;
			if(t1==0) {
				a[u][v]=a[v][u]=d;
				c2[u].pb(mp(v,d));
				c2[v].pb(mp(u,d));
			} else {
				a[u][v]=d;
				c2[u].pb(mp(v,d));
				c4[v].pb(mp(u,d));
			}
		}

		if(!fg1) {
			fr(n)
			for(int j=1; j<=n; j++)
				cout<<a[i][j]<<" ";
			cout<<endl;
		}

		fr(n) {	
			for(int j=0; j<c2[i].size(); j++) cout<<c2[i][j].fi<<" "<<c2[i][j].se<<" ";
			cout<<endl;
		}

		{
			int num=0,A[1005],B[1005],Z[1005];
			A[1]=1;
			for(int i=2; i<=n+1; i++) {
				A[i]=A[i-1]+c2[i-1].size();
			}
			fr(n) {
				for(int j=0; j<c2[i].size(); j++) B[++num]=c2[i][j].fi,Z[num]=c2[i][j].second;
			}
			fr(n+1) cout<<A[i]<<" ";
			cout<<endl;
			fr(num) cout<<B[i]<<" ";
			cout<<endl;
			fr(num) cout<<Z[i]<<" ";
			cout<<endl;
		}

		if(t1==1) {
			int num=0,A[1005],B[1005],Z[1005];
			A[1]=1;
			for(int i=2; i<=n+1; i++) {
				A[i]=A[i-1]+c4[i-1].size();
			}
			fr(n) {
				for(int j=0; j<c4[i].size(); j++) B[++num]=c4[i][j].fi,Z[num]=c4[i][j].second;
			}
			fr(n+1) cout<<A[i]<<" ";
			cout<<endl;
			fr(num) cout<<B[i]<<" ";
			cout<<endl;
			fr(num) cout<<Z[i]<<" ";
			cout<<endl;
		}
	}
	return 0;
}
2023/4/5 14:26
加载中...