P0421

[SCOI2008]天平

[SCOI2008]天平

你有 nn 个砝码,均为 11 克、22 克或者 33 克。你并不清楚每个砝码的重量,但你知道其中一些砝码重量的大小关系。

你把其中两个砝码 AA 和 BB 放在天平的左边,需要另外选出两个砝码放在天平的右边。

问:有多少种选法使得天平的左边重(c1c_1)、一样重(c2c_2)、右边重(c3c_3)?只有结果保证唯一的选法才统计在内。

输入格式

第一行包含三个正整数 nn、AA、BB。砝码编号为 1∼n1\sim n。

以下 nn 行包含重量关系矩阵,其中第 ii 行第 jj 个字符为:

  • 加号 +,表示砝码 ii 比砝码 jj 重;
  • 减号 -,表示砝码 ii 比砝码 jj 轻;
  • 等号 =,表示砝码 ii 和砝码 jj 一样重;
  • 问号 ?,表示二者的关系未知。

保证存在一种情况符合该矩阵。

输出格式

仅一行,包含三个整数,即 c1c_1、c2c_2 和 c3c_3。

样例输入

6 2 5
?+????
-?+???
?-????
????+?
???-?+
????-?

样例输出

1 4 1

数据范围

  • 4≤n≤504\le n\le 50;
  • 1≤A,B≤n1\le A, B\le n 且 A≠BA\ne B。

来源与许可

本题为 SCOI 2008 试题「天平」,题面与测试数据整理自 BZOJ 1077。

样例 1

输入

6 2 5
?+????
-?+???
?-????
????+?
???-?+
????-?

输出

1 4 1