Submission #206633

#TimeUsernameProblemLanguageResultExecution timeMemory
206633kshitij_sodaniPaint By Numbers (IOI16_paint)C++17
32 / 100
5 ms380 KiB
#include <iostream>
#include <bits/stdc++.h>
#include <paint.h>
using namespace std;
#define mp make_pair
#define pb push_back
typedef long long llo;
#define a first
#define  b second
#define endl "\n"
string solve_puzzle(string s,vector<int> c){
	int k=c.size();
	int n=s.size();
	char ss[n];
	strcpy(ss,s.c_str());
	int it[n];
	for(int i=0;i<n;i++){
		if(ss[i]=='.'){
			it[i]=0;
		}
		else if(ss[i]=='_'){
			it[i]=1;
		}
		else{
			it[i]=2;
		}
	}
	int pre[n];
	memset(pre,0,sizeof(pre));
	int su=0;
	int x=0;
	pair<int,int> ind[k];
	for(int i=0;i<k;i++){
		ind[i].a=su;
		su+=c[i];
	//	ind[i].a=su;
		su+=1;
	}
	int ma=0;
/*
	for(int i=0;i<n;i++){
		pre[i]=max(pre[i],ma);
		ma=max(ma,pre[i]);
	}*/
	int suf[n];
	memset(suf,0,sizeof(suf));
	su=n;
	for(int i=k-1;i>=0;i--){
		su-=c[i];
		ind[i].b=su;
		su-=1;
	}
	/*ma=suf[n-1];
	for(int i=n-1;i>=0;i--){
		suf[i]=max(suf[i],ma);
		ma=max(ma,suf[i]);
	}*/
	int fill[n];
	memset(fill,0,sizeof(fill));
	char ans[n];
	for(int i=0;i<n;i++){
		ans[i]='?';
	}
	for(int i=0;i<k;i++){
//		cout<<ind[i].a<<" "<<ind[i].b<<endl;
		int fill2[n];
		memset(fill2,0,sizeof(fill2));
		/*if(i==k-1){
			yy=ind[i].a+c[i];
		}
		else{
			yy=ind[i]
		}*/
		for(int j=ind[i].a;j<ind[i].a+c[i];j++){
		//	fill[j]+=1;
			fill2[j]+=1;
		}
		for(int j=ind[i].b;j<ind[i].b+c[i];j++){
		//	fill[j]+=1;
			fill2[j]+=1;
			if(fill2[j]==2){
				ans[j]='X';
			}

		}
		for(int j=ind[i].a;j<ind[i].b+c[i];j++){
			fill[j]+=1;
		}
	}
	
	for(int i=0;i<n;i++){
		if(fill[i]==0){
			ans[i]='_';
		}
	}
	string ans2="";
	for(int i=0;i<n;i++){
		ans2+=ans[i];
	}
	return ans2;
}
/*int main(){
	vector<int> bb={2,3};
	cout<<solve_puzzle("......",bb);

	return 0;
}*/

Compilation message (stderr)

paint.cpp: In function 'std::__cxx11::string solve_puzzle(std::__cxx11::string, std::vector<int>)':
paint.cpp:16:6: warning: variable 'it' set but not used [-Wunused-but-set-variable]
  int it[n];
      ^~
paint.cpp:31:6: warning: unused variable 'x' [-Wunused-variable]
  int x=0;
      ^
paint.cpp:39:6: warning: unused variable 'ma' [-Wunused-variable]
  int ma=0;
      ^~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...