QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#563530#9237. Messagedonghanwen1225Compile Error//C++201.3kb2024-09-14 13:35:042024-09-14 13:35:04

Judging History

This is the latest submission verdict.

  • [2024-09-14 13:35:04]
  • Judged
  • [2024-09-14 13:35:04]
  • Submitted

answer

#include<iostream>
#include<cstdio>
#include<vector> 
using namespace std;
vector<bool> send_packet(vector<bool> A);
void send_message(vector<bool> M,vector<bool> C)
{
	int S=M.size();
	vector<int> x;x.resize(31);
	int las=-1,fr=-1;
	for(int i=0;i<31;i++)
		if(C[i]==0)
		{
			if(fr==-1) fr=i;
			if(las!=-1) x[las]=i-las;
			las=i;
		}
	x[las]=(fr+31-las)%31;
	int cur=0;
	for(int i=1;i<=66;i++)
	{
		vector<bool> me;me.resize(31);
		for(int j=0;j<31;j++)
		{
			if(C[j]==1) me[j]=0;
			else
			{
				if(i<x[j]) me[j]=0;
				else if(i==x[j]) me[j]=1;
				else me[j]=(cur<S?M[cur]:(cur==S?0:1)),cur++;
			}
		}
		send_packet(me);
	}
}
vector<bool> receive_message(vector<vector<bool>> R)
{
	vector<bool> gm,rm,ok;vector<int> x;
	x.resize(31);ok.resize(31);gm.resize(1025);
	for(int i=0;i<66;i++)
		for(int j=0;j<31;j++)
			if(!x[j]&&R[i][j]) x[j]=i+1;
	for(int i=0;i<31;i++)
	{
		int c=i,ok=1;
		for(int j=1;j<=16;j++){if(!x[c]){ok=0;break;}c=(c+x[c])%31;}
		if(c==i&&ok)
		{
			for(int j=1;j<=16;j++) ok[c]=1,c=(c+x[c])%31;
			break;
		}
	}
	int cur=0;
	for(int i=0;i<66;i++)
		for(int j=0;j<31;j++)
			if(ok[j])
				if(i+1>x[j]) gm[cur++]=R[i][j];
	while(gm[cur-1]==1) cur--;
	for(int i=0;i<cur-1;i++) rm.push_back(gm[i]);
	return rm;
}

Details

answer.code: In function ‘std::vector<bool> receive_message(std::vector<std::vector<bool> >)’:
answer.code:49:50: error: invalid types ‘int[int]’ for array subscript
   49 |                         for(int j=1;j<=16;j++) ok[c]=1,c=(c+x[c])%31;
      |                                                  ^