Submission #924953

# Submission time Handle Problem Language Result Execution time Memory
924953 2024-02-10T06:34:10 Z Faisal_Saqib Plus Minus (BOI17_plusminus) C++17
12 / 100
3 ms 604 KB
#include <iostream>
#include <map>
#include <bitset>
using namespace std;
char g[10][10];
int n,m;
int ind(int i,int j)
{
	return (i*(m-1))+j;
}
int val(char c)
{
	return ((c=='+')?1:-1);
}
map<string,bool> posp;
void backtrack(int i,int j)
{
	if(i==n and j==0)
	{
		string s;
		for(int i=0;i<n;i++){
			for(int j=0;j<m;j++)
			{
				s+=g[i][j];
			}
		}
		posp[s]=1;
		return;
	}
	// if(i>=n or j>=m or i<0 or j<0)
	// 	return;
	if(g[i][j]=='?')
	{
		for(char a:{'+','-'})
		{
			g[i][j]=a;
			if(i>0 and j>0)
			{
				int su=val(g[i][j-1])+val(g[i][j])+val(g[i-1][j])+val(g[i-1][j-1]);
				if(su!=0)
				{
					continue;
				}
			}
			if((j==(m-1)))
			{
				backtrack(i+1,0);
			}
			else
			{
				backtrack(i,j+1);
			}
		}
		g[i][j]='?';
	}
	else
	{
			if(i>0 and j>0)
			{
				int su=val(g[i][j-1])+val(g[i][j])+val(g[i-1][j])+val(g[i-1][j-1]);
				if(su!=0)
				{
					return;
				}
			}
			if((j==(m-1)))
			{
				backtrack(i+1,0);
			}
			else
			{
				backtrack(i,j+1);
			}
	}
}
int main()
{
	cin.tie(0);
	cout.tie(0);
	ios::sync_with_stdio(0);
	int k;
	cin>>n>>m>>k;
	for(int i=0;i<n;i++)
		for(int j=0;j<m;j++)
			g[i][j]='?';
	for(int j=0;j<k;j++)
	{
		char c;
		cin>>c;
		int x,y;
		cin>>x>>y;
		x--;y--;
		g[x][y]=c;
	}
	backtrack(0,0);
	cout<<posp.size()<<endl;
	return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 344 KB Output is correct
5 Correct 1 ms 600 KB Output is correct
6 Correct 0 ms 604 KB Output is correct
7 Correct 0 ms 348 KB Output is correct
8 Correct 0 ms 348 KB Output is correct
9 Correct 3 ms 348 KB Output is correct
10 Correct 0 ms 344 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 344 KB Output is correct
5 Correct 1 ms 600 KB Output is correct
6 Correct 0 ms 604 KB Output is correct
7 Correct 0 ms 348 KB Output is correct
8 Correct 0 ms 348 KB Output is correct
9 Correct 3 ms 348 KB Output is correct
10 Correct 0 ms 344 KB Output is correct
11 Runtime error 1 ms 600 KB Execution killed with signal 11
12 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 344 KB Output is correct
5 Correct 1 ms 600 KB Output is correct
6 Correct 0 ms 604 KB Output is correct
7 Correct 0 ms 348 KB Output is correct
8 Correct 0 ms 348 KB Output is correct
9 Correct 3 ms 348 KB Output is correct
10 Correct 0 ms 344 KB Output is correct
11 Runtime error 1 ms 600 KB Execution killed with signal 11
12 Halted 0 ms 0 KB -