CF71D.Solitaire

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

Vasya has a pack of 5454 cards ( 5252 standard cards and 22 distinct jokers). That is all he has at the moment. Not to die from boredom, Vasya plays Solitaire with them.

Vasya lays out nmnm cards as a rectangle n×mn×m . If there are jokers among them, then Vasya should change them with some of the rest of 54nm54-nm cards (which are not layed out) so that there were no jokers left. Vasya can pick the cards to replace the jokers arbitrarily. Remember, that each card presents in pack exactly once (i. e. in a single copy). Vasya tries to perform the replacements so that the solitaire was solved.

Vasya thinks that the solitaire is solved if after the jokers are replaced, there exist two non-overlapping squares 3×33×3 , inside each of which all the cards either have the same suit, or pairwise different ranks.

Determine by the initial position whether the solitaire can be solved or not. If it can be solved, show the way in which it is possible.

输入格式

The first line contains integers nn and mm ( 3<=n,m<=173<=n,m<=17 , n×m<=52n×m<=52 ). Next nn lines contain mm words each. Each word consists of two letters. The jokers are defined as "J1" and "J2" correspondingly. For the rest of the cards, the first letter stands for the rank and the second one — for the suit. The possible ranks are: "2", "3", "4", "5", "6", "7", "8", "9", "T", "J", "Q", "K" and "A". The possible suits are: "C", "D", "H" and "S". All the cards are different.

输出格式

If the Solitaire can be solved, print on the first line "Solution exists." without the quotes. On the second line print in what way the jokers can be replaced. Three variants are possible:

  • "There are no jokers.", if there are no jokers in the input data.
  • "Replace J xx with yy .", if there is one joker. xx is its number, and yy is the card it should be replaced with.
  • "Replace J1 with xx and J2 with yy .", if both jokers are present in the input data. xx and yy here represent distinct cards with which one should replace the first and the second jokers correspondingly.

On the third line print the coordinates of the upper left corner of the first square 3×33×3 in the format "Put the first square to ( rr , cc ).", where rr and cc are the row and the column correspondingly. In the same manner print on the fourth line the coordinates of the second square 3×33×3 in the format "Put the second square to ( rr , cc ).".

If there are several solutions to that problem, print any of them.

If there are no solutions, print of the single line "No solution." without the quotes.

See the samples to understand the output format better.

输入输出样例

  • 输入#1

    4 6
    2S 3S 4S 7S 8S AS
    5H 6H 7H 5S TC AC
    8H 9H TH 7C 8C 9C
    2D 2C 3C 4C 5C 6C
    

    输出#1

    No solution.
  • 输入#2

    4 6
    2S 3S 4S 7S 8S AS
    5H 6H 7H J1 TC AC
    8H 9H TH 7C 8C 9C
    2D 2C 3C 4C 5C 6C
    

    输出#2

    Solution exists.
    Replace J1 with 2H.
    Put the first square to (1, 1).
    Put the second square to (2, 4).
    
  • 输入#3

    4 6
    2S 3S 4S 7S 8S AS
    5H 6H 7H QC TC AC
    8H 9H TH 7C 8C 9C
    2D 2C 3C 4C 5C 6C
    

    输出#3

    Solution exists.
    There are no jokers.
    Put the first square to (1, 1).
    Put the second square to (2, 4).
    

说明/提示

The pretests cover all the possible output formats.

首页