結果
| 問題 |
No.423 ハムスター語初級(数詞)
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2016-09-22 22:58:16 |
| 言語 | C#(csc) (csc 3.9.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,756 bytes |
| コンパイル時間 | 718 ms |
| コンパイル使用メモリ | 112,732 KB |
| 実行使用メモリ | 29,420 KB |
| 最終ジャッジ日時 | 2024-11-17 15:04:48 |
| 合計ジャッジ時間 | 1,427 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 1 |
| other | AC * 2 WA * 3 RE * 4 |
コンパイルメッセージ
Microsoft (R) Visual C# Compiler version 3.9.0-6.21124.20 (db94f4cc) Copyright (C) Microsoft Corporation. All rights reserved.
ソースコード
using System;
using System.Collections.Generic;
using System.Collections;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace tes
{
class contest
{
static void Main(string[] args)
{
var s = Console.ReadLine();
var dic = new Dictionary<string, int>();
dic["ham"] = 0;
dic["hamu"] = 1;
int num = 0;
var list = new List<int>();
for(int i =s.Length-1; i>=0; )
{
string tmp = "";
if(s[i] == 'u')
{
tmp = s.Substring(i-3, 4);
list.Add(dic[tmp]);
i -= 4;
}
else
{
tmp = s.Substring(i - 2, 3);
list.Add(dic[tmp]);
i -= 3;
}
}
list.Reverse();
num = int.Parse(list.Select(x=>x.ToString()).Aggregate((a,b)=>a+b));
int memo = 0;
for (int i = 0; i < num.ToString().Length; i++)
{
int t = (int)Math.Pow(2, i);
memo += int.Parse(num.ToString().Substring(i,1))*t;
}
memo <<= 1;
var ans = new List<string>();
string d = Convert.ToString(memo,2);
for (int i = 0; i <d.Length; i++)
{
if (((memo >> i) & 1) == 1)
{
ans.Add("hamu");
}
else
{
ans.Add("ham");
}
}
ans.Reverse();
ans.ForEach(Console.Write);
}
}
}