QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#580751#9237. MessageIvanZhang2009Compile Error//C++141.6kb2024-09-21 23:39:482024-09-21 23:39:50

Judging History

你现在查看的是最新测评结果

  • [2024-09-21 23:39:50]
  • 评测
  • [2024-09-21 23:39:48]
  • 提交

answer

#include<bits/stdc++.h>
#define REP(i,a,n) for(int i=a;i<(int)(n);++i)
using namespace std;
int fa[40],sz[40];
int findfa(int x){return fa[x]==x? x:fa[x]=findfa(fa[x]);}
void merge(int x,int y){
	x=findfa(x);y=findfa(y);
	if(x!=y)fa[x]=y,sz[y]+=sz[x];
}
vector<bool>receive_message(vector<vector<bool>>a){
	int n=31;
	vector<vector<bool>>vis(66,vector<bool>(n,0));
	vector<bool>ans(1025,0),c(31,0);
	vector<int>lst(n,-1),nxt(n,-1),deg(n,0);
	REP(i,0,n)fa[i]=i,sz[i]=1;
	REP(i,0,n){
		REP(j,0,n-1)if(a[j][i]){
			lst[i]=j;nxt[i]=(i+j+1)%n;++deg[nxt[i]];
			break;
		}
	}
	queue<int>q;
	REP(i,0,n)if(!deg[i])q.push(i);
	while(!q.empty()){
		int x=q.front();q.pop();
		if(nxt[x]!=-1){
			--deg[nxt[x]];
			if(!deg[nxt[x]])q.push(nxt[x]);
		}
	}
	REP(i,0,n)if(deg[i]&&nxt[i]!=-1)merge(i,nxt[i]);
	REP(i,0,n)if(sz[findfa(i)]==16)c[i]=1;
//	REP(i,0,n)cout<<!c[i];
//	cout<<endl;
	REP(i,0,n)if(c[i]){
		REP(j,0,lst[i]+1)vis[j][i]=1;
	}
	int cur=0,l=0;
	REP(i,0,66){
		REP(j,0,n)if(c[j]&&!vis[i][j]){
			ans[cur++]=a[i][j];
			if(a[i][j])l=cur-1;
		}
	}
	vector<bool>ret(l,0);
	REP(i,0,l)ret[i]=ans[i];
	return ret;
}
void send_message(vector<bool>a,vector<bool>b){
	int n=31;
	vector<vector<bool>>vis(66,vector<bool>(n,0)),res(66,vector<bool>(n,0));
	REP(i,0,n)if(!b[i]){
		int lst=i+1;
		REP(j,0,n)if(!b[(i+j+1)%n]){lst=j;break;}
		REP(j,0,lst+1)vis[j][i]=1;
		res[lst][i]=1;
	}
	vector<bool>ans(1025,0);
	REP(i,0,a.size())ans[i]=a[i];
	ans[a.size()]=1;auto it=ans.begin();
	REP(i,0,66){
		REP(j,0,n)if(!b[j]&&!vis[i][j]){
			res[i][j]=*it;it++;
		}
	}
	for(auto i:res)send_package(i);
}

詳細信息

answer.code: In function ‘void send_message(std::vector<bool>, std::vector<bool>)’:
answer.code:66:24: error: ‘send_package’ was not declared in this scope; did you mean ‘send_message’?
   66 |         for(auto i:res)send_package(i);
      |                        ^~~~~~~~~~~~
      |                        send_message
stub.cpp: In function ‘int {anonymous}::sz(const C&)’:
stub.cpp:27:52: error: ‘size’ is not a member of ‘std’; did you mean ‘size_t’?
   27 | template<class C> int sz(const C& c) { return std::size(c); }
      |                                                    ^~~~
      |                                                    size_t
stub.cpp: In function ‘void {anonymous}::write_int_array(const int*, int)’:
stub.cpp:70:13: warning: init-statement in selection statements only available with ‘-std=c++17’ or ‘-std=gnu++17’
   70 |         if (int ret = fwrite(arr, sizeof(int), len, fout); len != ret) {
      |             ^~~
stub.cpp: In function ‘void {anonymous}::read_int_array(int*, int)’:
stub.cpp:105:13: warning: init-statement in selection statements only available with ‘-std=c++17’ or ‘-std=gnu++17’
  105 |         if (int ret = fread(arr, sizeof(int), len, fin); len != ret) {
      |             ^~~