QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#557948#9239. Hieroglyphsyyyyxh#Compile Error//C++231.0kb2024-09-11 12:34:282024-09-11 12:34:29

Judging History

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

  • [2024-09-11 12:34:29]
  • 评测
  • [2024-09-11 12:34:28]
  • 提交

answer

#include "hieroglyphs.h"
#include <vector>
#include <algorithm>
using namespace std;
typedef vector<int> vi;
vi ucs(vi A,vi B){
	int n=A.size(),m=B.size();
	int lim=max(n,m);
	vi C;
	vector<vi> ca(lim),cb(lim);
	for(int i=0;i<n;++i) ca[A[i]].emplace_back(i);
	for(int i=0;i<m;++i) cb[B[i]].emplace_back(i);
	for(int i=0;i<lim;++i)
		if(!ca[i].empty()&&!cb[i].empty()) C.emplace_back(i);
	bool nosol=0;
	if(C.empty()) return vi(1,-1);
	sort(C.begin(),C.end(),
		[&](int x,int y){
			bool f0=0,f1=0;
			for(int ax:ca[x]) for(int bx:cb[x]) for(int ay:ca[y]) for(int by:cb[y]){
				if((ax<ay)&&(bx<by)) f0=1;
				if((ax>ay)&&(bx>by)) f1=1;
			}
			if(f0&&!f1) return 1;
			if(f1&&!f0) return 0;
			nosol=1;
			return x<y;
		});
	if(nosol) return vi(1,-1);
	int p=0;
	for(int i=0;i<n;++i){
		if(C[p]==A[i]) ++p;
		if(p==(int)C.size()) break;
	}
	if(p!=(int)C.size()) return vi(1,-1);
	p=0;
	for(int i=0;i<m;++i){
		if(C[p]==B[i]) ++p;
		if(p==(int)C.size()) break;
	}
	if(p!=(int)C.size()) return vi(1,-1);
	return C;
}

Details

answer.code: In lambda function:
answer.code:27:33: error: inconsistent types ‘int’ and ‘bool’ deduced for lambda return type
   27 |                         return x<y;
      |                                ~^~