当前你的浏览器版本过低,网站已在兼容模式下运行,兼容模式仅提供最小功能支持,网站样式可能显示不正常。
请尽快升级浏览器以体验网站在线编辑、在线运行等功能。

建议使用的浏览器:

谷歌Chrome 火狐Firefox Opera浏览器 微软Edge浏览器 QQ浏览器 360浏览器 傲游浏览器

3383:Equation

Special Judge 特殊评判
题目描述

A few years ago Nick learned set theory, and liked it so much that sets became the subject of his bachelor’s thesis. Nick’s thesis describes a new kind of mathematical equations — set equations. Set equations are composed of set variables, which represent various subsets of a universal set Ω. The following four operations are defined for set variables:

  • Intersection ∩: AB := {x : xAxB}

  • Union ∪: AB := {x : xAxB}

  • Difference −: AB := {x : xAxB}

  • Symmetric difference ⊕: AB := (AB) ∪ (BA)

The operations are listed in the order of their precedence, i.e. intersection has the highest precedence, union has lower precedence than intersection, difference has lower precedence than union, and symmetrical difference has the lowest precedence. Parentheses can be used to change operations precedence as usual.

The thesis includes a chapter dedicated to automated solving of some specific classes of set equations. Nick has already elaborated a notation for storing equations in text files. Here is some quotation from the thesis:

The following notation is used for describing set equations:

‹space or tab›space | tabulation symbol
‹ws›‹space or tab› ∗
‹char›A’ | ‘B’ | … | ‘Z’ | ‘a’ | ‘b’ | … | ‘z
‹var›‹char› ‹char› ∗
‹expr›‹var›
|‹expr› ‹ws› ‹operator› ‹ws› ‹expr›
|(’ ‹ws› ‹expr› ‹ws› ‘)
‹operator›+’ | ‘-’ | ‘*’ | ‘^
‹equation›‹expr› ‹ws› ‘=’ ‹ws› ‹expr›

Operators ∪, ∩, − and ⊕ are encoded with tokens ‘+’, ‘*’, ‘-’ and ‘^’ respectively. The ‘=’ token denotes the operator of set equality.

It is possible to assign values to some variable using the following notation:

‹digit›0’ | ‘1’ | … | ‘9
‹element›‹digit› ∗
‹variable value›‹var› ‹ws› ‘=’ ‹ws› ‹values›
‹values›‹element›
 |‹element› ‹space or tab› ‹ws› ‹values›

Unfortunately Nick is not very skilled in programming so he asks you to help and write a program module for automated solving of one specific simple class of equations — the equations where each variable, except Ω, occurs exactly one time.

输入解释

Input file is written in Nick’s notation.

The first line of the input file contains an equation to solve. Total length of the equation does not exceed 1 000 characters. There is exactly one occurrence of each variable, except “Omega”, in the equation.

The following lines contain definitions of variable values. Variable name lengths do not exceed ten characters each. There is always a variable called “Omega” that represents the universal set. Both the number of elements in the universal set and the value of each element does not exceed 500.

The total length of all variable definitions does not exceed 100 000 characters.

输出解释

First line of the output file must contain “Solution” if there exists at least one solution of the given equation and “No Solution” otherwise.

If the solution exists the following lines must contain such values of all undefined variables so that equation is satisfied. The variables may be listed in arbitrary order.

输入样例
#1Omega - OneOrThree = Two
Omega = 1 2 3
Two = 2
#2Omega * result * result = Empty
Omega = 1 2 3 4 5
Empty =
#3(one+two) ^(TWO+three) = result
one  =1
TWO  =1 3 4 5
two  =2
three=3
Omega=1 2 3 4 5
result = 2 3 4 5
#4Omega ^Omega = Omega
Omega=123 234 345 456
输出样例
#1Solution
OneOrThree = 1 3
#2Solution
Result=
#3Solution
#4No Solution

该题目是Virtual Judge题目,来自 北京大学POJ

源链接: POJ-3383

最后修改于 2020-10-29T07:00:16+00:00 由爬虫自动更新

共提交 0

通过率 --%
时间上限 内存上限
1000 65536