UVa12478 - Hardest Problem Ever (枚举)

简介: UVa12478 - Hardest Problem Ever (枚举)
#include <cstdio>#include <string>#include <algorithm>usingnamespacestd;
constintN=9;
chartable[N][N] = {
                       {'O', 'B', 'I', 'D', 'A', 'I', 'B', 'K', 'R'},
                       {'R', 'K', 'A', 'U', 'L', 'H', 'I', 'S', 'P'},
                       {'S', 'A', 'D', 'I', 'Y', 'A', 'N', 'N', 'O'},
                       {'H', 'E', 'I', 'S', 'A', 'W', 'H', 'I', 'A'},
                       {'I', 'R', 'A', 'K', 'I', 'B', 'U', 'L', 'S'},
                       {'M', 'F', 'B', 'I', 'N', 'T', 'R', 'N', 'O'},
                       {'U', 'T', 'O', 'Y', 'Z', 'I', 'F', 'A', 'H'},
                       {'L', 'E', 'B', 'S', 'Y', 'N', 'U', 'N', 'E'},
                       {'E', 'M', 'O', 'T', 'I', 'O', 'N', 'A', 'L'}
                       };
stringstr[8] = {"RAKIBUL", "ANINDYA", "MOSHIUR", "SHIPLU", "KABIR", "SUNNY", "OBAIDA", "WASI"};
intmain()
{
for (inti=0; i<8; i++) {
stringstrtmp=str[i];
sort(strtmp.begin(), strtmp.end());
intlen=str[i].length();
intcnt=0;
for (intj=0; j<N; j++) {
stringtmp;
for (intk=0; k+len<=N; k++) {
tmp.clear();
for (intm=0; m<len; m++) {
tmp.append(1, table[j][k+m]);
                }
sort(tmp.begin(), tmp.end());
if (tmp==strtmp) cnt++;
            }
        }
for (intj=0; j<N; j++) {
stringtmp;
for (intk=0; k+len<=N; k++) {
tmp.clear();
for (intm=0; m<len; m++) {
tmp.append(1, table[k+m][j]);
                }
sort(tmp.begin(), tmp.end());
if (tmp==strtmp) cnt++;
            }
        }
if (cnt==2) printf("%s\n", str[i].c_str());
    }
return0;
}
目录
相关文章
UVa1531 - Problem Bee
UVa1531 - Problem Bee
45 0
UVa11296 - Counting Solutions to an Integral Equation(枚举技巧)
UVa11296 - Counting Solutions to an Integral Equation(枚举技巧)
44 0
A. Codeforces Checking(打表枚举)
A. Codeforces Checking(打表枚举)
43 0
HDU-1048,The Hardest Problem Ever(字符串处理)
HDU-1048,The Hardest Problem Ever(字符串处理)
ZOJ Problem Set - 3758 素数
ZOJ Problem Set - 3758 素数
96 0
HDOJ/HDU 1015 Safecracker(枚举)
HDOJ/HDU 1015 Safecracker(枚举)
102 0
|
Java
HDU 1000 A + B Problem(指针版)
A + B Problem Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 654986    Accepted Submission(s): 204210 Problem Description Calculate A + B.
680 0