2017-09-23 4 views
0

私はPythonでIndiaHacksの問題を解決していましたが、テストケースの1つが失敗しました。しかし、C++で同じロジックを使って解決したところ、すべてのテストケースが成功しました。1つのテストケースがPythonソリューションで失敗しました。それを修正する方法?

私は、文字列の長さが長い場合、pythonが完全な文字列を入力として受け取ることができないことが原因だと考えました。私のアルゴリズムが正しいこと:ここでは

これは、Pythonここ

a=input() 
s = set(a) 

dic = {} 

for v in s: 
    dic[v] = a.count(v) 

if((len(a))%2 == 0): 
    ne = set(dic.values()) 
    if len(ne) == 1: 
     print("YES") 
    else: 
     print("NO") 
else: 

    co = 0 
    for ky in dic: 
     if dic[ky]%2 != 0: 
      co = co +1 
    if co==1: 
     print("YES") 
    else: 
     print("NO") 

failed

PS入力テストケースがあるの私のソリューションですproblem

です。その変数は入力として完全な文字列を取得することができません。それを取得する方法は? Pythonに長い文​​字列がありますか?

+0

'(len(a))%2 == 0'のロジックが壊れているようです。各値が均等であることを確認する必要があります。 – Jarod42

答えて

0

は、あなたはこれを試してみました -

x = sys.stdin.read() 

をあなたがこれを使用するためのsysをインポートする必要がありますのでご注意ください。

+0

私もそれを試して、働いていない。そのテストケースに入力された文字列が長すぎるため、Pythonは文字列全体を入力として受け取ることができません。 [リンク](https://he-s3.s3.amazonaws.com/media/hackathon/indiahacks-code-mania-7/problems/0457281c-a-input-0457222.txt?Signature=bOSO4H5mSXaWxoiB0ELyWQAy79U) %3D&Expires = 1506489592&AWSAccessKeyId = AKIAJLE6MUHDYS3HN6YQ)を入力します。 – er1shivam

関連する問題