Submission #143868


Source Code Expand

#!/usr/bin/env python2.7

import sys

from cStringIO import StringIO
import unittest
import cProfile

def main():
    A, = (x for x in sys.stdin.readline().split())
    print solve(A)

def solve(A):
    odd = (len(A) % 2) == 1
    c = 0;
    for i in range(len(A) / 2):
        if A[i] != A[-i-1]:
            c += 1
    if c == 0:
        return 25 * (len(A) - odd)
    if c == 1:
        return 25 * (len(A) - odd) - 2 + odd * 25
    else:
        return 25 * len(A)
    
class Test(unittest.TestCase):

    @staticmethod
    def tryone(indata):
        sys.stdin = StringIO(indata)
        out = sys.stdout = StringIO()
        main()
        return out.getvalue()

    def test50(self):
        self.assertEqual(solve("ARC"), 73)
        self.assertEqual(solve("S"), 0)
        self.assertEqual(solve("NOLEMONNOMELON"), 350)
        
    def test60(self):
        self.assertEqual(solve("A"), 0)
        self.assertEqual(solve("AB"), 24+24)
        self.assertEqual(solve("ABC"), 24+25+24)
        self.assertEqual(solve("ABCD"), 25+25+25+25)

        self.assertEqual(solve("AA"), 25+25)
        self.assertEqual(solve("AAA"), 25+25)
        self.assertEqual(solve("AAAA"), 25+25+25+25)
        self.assertEqual(solve("AAAAA"), 25+25+25+25)

        self.assertEqual(solve("AAB"), 24+25+24)
        self.assertEqual(solve("AABA"), 25+24+24+25)
        self.assertEqual(solve("AAABA"), 25+24+25+24+25)

        self.assertEqual(solve("AABB"), 25+25+25+25)
        self.assertEqual(solve("AAABB"), 25+25+25+25+25)

        self.assertEqual(solve("AACAA"), 25+25+25+25)
        self.assertEqual(solve("AACXA"), 25+24+25+24+25)

    def test90(self):
        self.assertEqual(self.tryone("""\
ARC
"""), """73\n""")

if __name__ == '__main__':
    if len(sys.argv) > 1:
        print "_/" * 30 + str(sys.argv)
        if sys.argv[1] == '-p':
            sys.argv.pop(1)
            cProfile.run("unittest.main(exit=False, failfast=True)", sort='time')
        else:
            unittest.main()
    else:
        main()

Submission Info

Submission Time
Task B - こだわりの名前
User over80
Language Python (2.7.3)
Score 100
Code Size 2092 Byte
Status AC
Exec Time 206 ms
Memory 9368 KB

Judge Result

Set Name All
Score / Max Score 100 / 100
Status
AC × 36
Set Name Test Cases
All hand_1.txt, hand_2.txt, hand_3.txt, hand_4.txt, hand_5.txt, hand_6.txt, palindrome_1.txt, palindrome_12345.txt, palindrome_2.txt, palindrome_299998.txt, palindrome_299999.txt, palindrome_3.txt, palindrome_300000.txt, palindrome_4.txt, palindrome_5.txt, palindrome_6789.txt, palindrome_67890.txt, palindrome_mod_1.txt, palindrome_mod_1000.txt, palindrome_mod_10000.txt, palindrome_mod_100001.txt, palindrome_mod_2.txt, palindrome_mod_200000.txt, palindrome_mod_299999.txt, palindrome_mod_3.txt, palindrome_mod_300000.txt, palindrome_mod_4.txt, palindrome_mod_5.txt, palindrome_mod_50001.txt, random_1.txt, random_10.txt, random_100001.txt, random_101.txt, random_3000.txt, random_300000.txt, random_50001.txt
Case Name Status Exec Time Memory
hand_1.txt AC 206 ms 9364 KB
hand_2.txt AC 104 ms 9360 KB
hand_3.txt AC 100 ms 9364 KB
hand_4.txt AC 102 ms 9364 KB
hand_5.txt AC 100 ms 9368 KB
hand_6.txt AC 101 ms 9364 KB
palindrome_1.txt AC 65 ms 4316 KB
palindrome_12345.txt AC 66 ms 4432 KB
palindrome_2.txt AC 65 ms 4316 KB
palindrome_299998.txt AC 98 ms 9360 KB
palindrome_299999.txt AC 111 ms 9356 KB
palindrome_3.txt AC 68 ms 4312 KB
palindrome_300000.txt AC 104 ms 9368 KB
palindrome_4.txt AC 69 ms 4316 KB
palindrome_5.txt AC 75 ms 4316 KB
palindrome_6789.txt AC 72 ms 4428 KB
palindrome_67890.txt AC 78 ms 5456 KB
palindrome_mod_1.txt AC 69 ms 4312 KB
palindrome_mod_1000.txt AC 70 ms 4308 KB
palindrome_mod_10000.txt AC 72 ms 4436 KB
palindrome_mod_100001.txt AC 89 ms 5980 KB
palindrome_mod_2.txt AC 72 ms 4308 KB
palindrome_mod_200000.txt AC 94 ms 7668 KB
palindrome_mod_299999.txt AC 104 ms 9352 KB
palindrome_mod_3.txt AC 69 ms 4304 KB
palindrome_mod_300000.txt AC 114 ms 9368 KB
palindrome_mod_4.txt AC 69 ms 4412 KB
palindrome_mod_5.txt AC 72 ms 4312 KB
palindrome_mod_50001.txt AC 75 ms 5196 KB
random_1.txt AC 71 ms 4316 KB
random_10.txt AC 68 ms 4316 KB
random_100001.txt AC 81 ms 5968 KB
random_101.txt AC 69 ms 4312 KB
random_3000.txt AC 70 ms 4304 KB
random_300000.txt AC 117 ms 9364 KB
random_50001.txt AC 78 ms 5080 KB
sample_1.txt AC 69 ms 4316 KB
sample_2.txt AC 70 ms 4308 KB
sample_3.txt AC 73 ms 4344 KB