結果

問題 No.708 (+ー)の式
ユーザー No
提出日時 2018-07-09 23:47:27
言語 C#(csc)
(csc 3.9.0)
結果
AC  
実行時間 65 ms / 2,000 ms
コード長 1,486 bytes
コンパイル時間 871 ms
コンパイル使用メモリ 104,320 KB
実行使用メモリ 22,784 KB
最終ジャッジ日時 2024-07-18 01:05:16
合計ジャッジ時間 3,098 ms
ジャッジサーバーID
(参考情報)
judge2 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 12
権限があれば一括ダウンロードができます
コンパイルメッセージ
Microsoft (R) Visual C# Compiler version 3.9.0-6.21124.20 (db94f4cc)
Copyright (C) Microsoft Corporation. All rights reserved.

ソースコード

diff #
プレゼンテーションモードにする

using System;
using System.Text.RegularExpressions;
namespace y
{
class Program
{
static void Main(string[] args)
{
var s = Console.ReadLine();
int a = 0;
while (!int.TryParse(s, out a))
{
s = s.Replace("--", "+").Replace("+-", "-");
s = Ca(s);
}
Console.WriteLine(a);
}
static string Ca(string s)
{
string a = Regex.Match(s, @"\(.*?\)").Value;
if (a.Length == 0) a = s;
int r = 0;
bool isMinus = false;
for (int j = 0; j < a.Length; j++)
{
if (a[j] == '-')
{
isMinus = true;
continue;
}
if (a[j] >= '0' && a[j] <= '9')
{
string y = a[j].ToString();
while (j < a.Length - 1 && (a[j + 1] >= '0' && a[j + 1] <= '9'))
{
y += a[j + 1];
j++;
}
if (!isMinus)
{
r += int.Parse(y);
}
else
{
r -= int.Parse(y);
isMinus = false;
}
}
}
return s.Replace(a, r.ToString());
}
}
}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0