結果
問題 | No.423 ハムスター語初級(数詞) |
ユーザー |
![]() |
提出日時 | 2020-05-20 00:18:03 |
言語 | JavaScript (node v23.5.0) |
結果 |
AC
|
実行時間 | 77 ms / 2,000 ms |
コード長 | 2,251 bytes |
コンパイル時間 | 53 ms |
コンパイル使用メモリ | 6,688 KB |
実行使用メモリ | 40,448 KB |
最終ジャッジ日時 | 2024-10-13 01:57:48 |
合計ジャッジ時間 | 1,293 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 9 |
ソースコード
var read = require('readline').createInterface({input: process.stdin,output: process.stdout});var obj;var inLine = [];read.on('line', function(input){inLine.push(input);});read.on('close', function(){obj = init(inLine);myerr("-----start-----");var start = new Date();Main();var end = new Date() - start;myerr("----- end -----");myerr("time : " + (end) + "ms");});function nextInt(){return myconv(next(),1);} function nextStrArray(){return myconv(next(),2);}function nextIntArray(){return myconv(next(),4);} function nextCharArray(){return myconv(next(),6);}function next(){return obj.next();} function hasNext(){return obj.hasNext();}function init(input){var returnObj = {list : input, index : 0, max : input.length,hasNext : function(){return (this.index < this.max);},next : function(){if(!this.hasNext()){throw "ArrayIndexOutOfBoundsException これ以上ないよ";}else{var returnInput = this.list[this.index];this.index++;return returnInput;}}};return returnObj;}function myout(s){console.log(s);}function myerr(s){console.error("debug:" + require("util").inspect(s,false,null));}//[no]要素の扱い。数値型//不明値、異常時:引数そのまま返す 1:数値へ変換//2:半角SPで分割 4:半角SPで分割し、数値配列へ//6:1文字で分割 7:1文字で分割し、数値配列へ//8:半角SPで結合 9:改行で結合 0:文字なしで結合function myconv(i,no){try{switch(no){case 1:return parseInt(i);case 2:return i.split(" ");case 4:return i.split(" ").map(Number);case 6:return i.split("");case 7:return i.split("").map(Number);case 8:return i.join(" ");case 9:return i.join("\n");case 0:return i.join("");default:return i;}}catch(e){return i;}}function Main(){var hamu = next();var s = "";while(hamu.length > 0){var tmp = hamu.slice(0,4);if(tmp == "hamu"){s += "1";hamu = hamu.slice(4,hamu.length);}else{s += "0";hamu = hamu.slice(3,hamu.length);}}var N = parseInt(s,2) * 2;var twice = N.toString(2).split("");var output = new Array(twice.length);for(var i = 0; i < twice.length; i++){if(twice[i] == "1"){output[i] = "hamu";}else{output[i] = "ham";}}myout(myconv(output,0));}