UOJ Logo

NOI.AC

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#210681#3785. 恒真yhmm1000ms1204kbC++111.3kb2024-08-07 09:41:512024-08-07 12:05:40

answer

#include<bits/stdc++.h>
#pragma GCC optimize(2)
using namespace std;
int pos=0,n,m[1001],idx=0;
stack<int>st;
map<char,int>mp;
map<char,int>::iterator it;
char s[10001],c[1001],x;
int main(){
	while(cin>>x)
	{
		// if(x=='1')
		// {
		// 	break;
		// }
		s[++pos]=x;
		if(x>='a'&&x<='z')
		{
			mp[x]++;
		}
	}
	n=mp.size();
	for(it=mp.begin();it!=mp.end();it++)
	{
		c[++idx]=it->first;
	}
	for(int i=0;i<1<<n;i++)
	{
		while(st.size())
		{
			st.pop();
		}
		for(int j=0;j<n;j++)
		{
			if(i>>j&1)
			{
				m[c[j+1]-'a']=1;
			}
			else
			{
				m[c[j+1]-'a']=0;
			}
		}
		for(int j=1;j<=pos;j++)
		{
			if(s[j]>='a'&&s[j]<='z')
			{
				st.push(m[s[j]-'a']);
			}
			else
			{
				if(s[j]=='&')
				{
					int ka=st.top();
					st.pop();
					int kb=st.top();
					st.pop();
					kb&=ka;
					st.push(kb);
				}
				else if(s[j]=='|')
				{
					int ka=st.top();
					st.pop();
					int kb=st.top();
					st.pop();
					kb|=ka;
					st.push(kb);
				}
				else if(s[j]=='^')
				{
					int ka=st.top();
					st.pop();
					int kb=st.top();
					st.pop();
					kb^=ka;
					st.push(kb);
				}
				else
				{
					int k=st.top();
					st.pop();
					k=!k;
					st.push(k);
				}
			}
		}
		if(!st.top())
		{
			cout<<"NO";
			return 0;
		}
	}
	cout<<"YES";
	return 0;
}

详细

小提示:点击横条可展开更详细的信息

Subtask #1:

score: 30
Accepted

Test #1:

score: 30
Accepted
time: 0ms
memory: 1204kb

input:

a a | a b & |

output:

NO

result:

ok "NO"

Test #2:

score: 0
Accepted
time: 0ms
memory: 1204kb

input:

a b | a b | & a b | a b | & &

output:

NO

result:

ok "NO"

Test #3:

score: 0
Accepted
time: 0ms
memory: 1200kb

input:

a b | c d | & e f | g h | & &

output:

NO

result:

ok "NO"

Test #4:

score: 0
Accepted
time: 0ms
memory: 1204kb

input:

c d |

output:

NO

result:

ok "NO"

Test #5:

score: 0
Accepted
time: 0ms
memory: 1200kb

input:

a a & b & b a & b b & & | b b | b b | & b b a & | | | b b & a a & & b a | a a | & & b a a | | a a & ...

output:

NO

result:

ok "NO"

Test #6:

score: 0
Accepted
time: 0ms
memory: 1204kb

input:

b a b | | b d & c b & & & d d | a | d c & b b & | & & c c & d & d a & d a & & | b & & a c & b b | | ...

output:

NO

result:

ok "NO"

Test #7:

score: 0
Accepted
time: 0ms
memory: 1204kb

input:

g d | f a & | h a & a a & | & d a e & e g & & | & b e & a a | & g f & h a & & & h e | f g | | e c & ...

output:

NO

result:

ok "NO"

Test #8:

score: 0
Accepted
time: 0ms
memory: 1204kb

input:

c b & a a | | g g h | & | a e | g b & | f f | c c & & & | b c b | f b | | | b e | f | b d & c a & | ...

output:

NO

result:

ok "NO"

Subtask #2:

score: 30
Accepted

Test #9:

score: 30
Accepted
time: 0ms
memory: 1200kb

input:

a a & a ! & a a | a a | & & ! a a a | & a a | a | | a a | a a & | ! | | a ! ! ! ! a a | a ! & ! ! | ...

output:

YES

result:

ok "YES"

Test #10:

score: 0
Accepted
time: 0ms
memory: 1200kb

input:

a ! ! a a | a a & & | a a ! | a a & ! & & ! ! a ! ! a & a ! ! a a & a ! | | & a a & a a & | a a | ! ...

output:

NO

result:

ok "NO"

Test #11:

score: 0
Accepted
time: 0ms
memory: 1200kb

input:

a ! ! a a | a a & & | a a ! | a a & ! & & ! ! a ! ! a & a ! ! a a & a ! | | & a a & a a & | a a | ! ...

output:

NO

result:

ok "NO"

Test #12:

score: 0
Accepted
time: 0ms
memory: 1200kb

input:

a a a | ! | a & a a a | ! & a | | a a & ! a a & a a | | & ! a a a & | a a | a | & a a | a a | | a ! ...

output:

YES

result:

ok "YES"

Test #13:

score: 0
Accepted
time: 0ms
memory: 1200kb

input:

a a ! a a | ^ a a | a a | ^ | a a | a ^ a ! a ! | ^ | ! | a a a | ! & a ! a | a a ^ a a ^ & | ^ a ^ ...

output:

NO

result:

ok "NO"

Test #14:

score: 0
Accepted
time: 0ms
memory: 1200kb

input:

a a a a | a a | | a a | a a | ^ & ! a a | ! a a | a & | a | & & a a & a a ^ & a a | a ! | ^ a a & ! ...

output:

NO

result:

ok "NO"

Test #15:

score: 0
Accepted
time: 0ms
memory: 1200kb

input:

a a ! a a ^ ^ a ! | | a a | a a | ^ a a | ! | a a | a a | | a a | a | ^ | | a | a a | a a | | a ! a ...

output:

YES

result:

ok "YES"

Subtask #3:

score: 40
Accepted

Test #16:

score: 40
Accepted
time: 0ms
memory: 1200kb

input:

a b | a ! b ! | |

output:

YES

result:

ok "YES"

Test #17:

score: 0
Accepted
time: 0ms
memory: 1204kb

input:

a b ! | a ! b | &

output:

NO

result:

ok "NO"

Test #18:

score: 0
Accepted
time: 0ms
memory: 1204kb

input:

a b ! | a ! b | |

output:

YES

result:

ok "YES"

Test #19:

score: 0
Accepted
time: 0ms
memory: 1200kb

input:

a b | c ! | a ! b | c | | a b ! c | | |

output:

YES

result:

ok "YES"

Test #20:

score: 0
Accepted
time: 0ms
memory: 1204kb

input:

c b b | | b b | c c | | | c ! c b | ^ ! ^ b c | b c | | c c | ! ^ b ! | | a a | b a | | b b | ! | ! ...

output:

NO

result:

ok "NO"

Test #21:

score: 0
Accepted
time: 0ms
memory: 1200kb

input:

b a | a a | ^ b | b a a & | ! | b ! c a ^ | ! a ^ | c ! ! b b | ! ^ c b | a | b & | b a | ! c c | a ...

output:

NO

result:

ok "NO"

Test #22:

score: 0
Accepted
time: 0ms
memory: 1200kb

input:

b ! b | c a c | ! | ! a c | b c | | ! b c a | c a | | | | ^ b c | c ! & a c & c c | | | c a | ! a ! ...

output:

YES

result:

ok "YES"

Test #23:

score: 0
Accepted
time: 0ms
memory: 1200kb

input:

d c c | ! c ! c ! | | | ! c a | d ! | c b | a d | | | d c ^ ! c c | ! | | b b | b | b a | ! | b b b ...

output:

NO

result:

ok "NO"

Test #24:

score: 0
Accepted
time: 0ms
memory: 1200kb

input:

b ! c ! d d | | d c ^ d d | | | ! d a | ! ! ! | c a c | d ! | ^ ! c a | c d | | a c | d c | ^ | b c ...

output:

NO

result:

ok "NO"

Test #25:

score: 0
Accepted
time: 0ms
memory: 1200kb

input:

b ! g ! h d | | d g ^ h d | | | ! d e | ! ! ! | g e c | h ! | ^ ! g e | c d | | e c | h c | ^ | b g ...

output:

NO

result:

ok "NO"

Test #26:

score: 0
Accepted
time: 0ms
memory: 1204kb

input:

b ! g ! h d | | d g ^ h d | | | ! d e | ! ! ! | g ! ! d ! ! h c | d ^ ! | | | c ! g e | | ! ! b b g ...

output:

NO

result:

ok "NO"

Test #27:

score: 0
Accepted
time: 0ms
memory: 1200kb

input:

a ! b | c | d | a b ! | c | d | | a b | c ! | d | | a b | c | d ! | |

output:

YES

result:

ok "YES"

Test #28:

score: 0
Accepted
time: 0ms
memory: 1200kb

input:

a a ! | b b ! | & c c ! | d d ! | & & e e ! | f f ! | & & g ! g | h ! h | & &

output:

YES

result:

ok "YES"

Extra Test:

score: 0
Extra Test Passed