結果
問題 | No.573 a^2[i] = a[i] |
ユーザー |
![]() |
提出日時 | 2017-10-14 01:20:19 |
言語 | C#(csc) (csc 3.9.0) |
結果 |
AC
|
実行時間 | 160 ms / 2,000 ms |
コード長 | 1,949 bytes |
コンパイル時間 | 4,195 ms |
コンパイル使用メモリ | 104,448 KB |
実行使用メモリ | 17,664 KB |
最終ジャッジ日時 | 2024-11-17 12:22:52 |
合計ジャッジ時間 | 3,762 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 47 |
コンパイルメッセージ
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; using System.Collections.Generic; using System.Collections.Specialized; using System.Text; using System.Text.RegularExpressions; using System.Linq; using System.IO; using System.Diagnostics; class Scanner { private readonly char Separator = ' '; private int Index = 0; private string[] Line = new string[0]; public string Next() { if (Index >= Line.Length) { Line = Console.ReadLine().Split(Separator); Index = 0; } var ret = Line[Index]; Index++; return ret; } public int NextInt() { return int.Parse(Next()); } } class Magatro { private readonly int Mod = (int)1e9 + 7; private int N; private long[] F; private void Scan() { N = int.Parse(Console.ReadLine()); } private void ClacF() { F = new long[N+1]; F[0] = 1; for (int i = 1; i <= N; i++) { F[i] = (F[i - 1] * i) % Mod; } } private long Fact(long n) { return F[n]; } private long Pow(long a, long b) { long res = 1; while (b > 0) { if (b % 2 == 1) { res *= a; res %= Mod; } b /= 2; a *= a; a %= Mod; } return res; } private long C(long n, long m) { long bunsi = Fact(n); long bunbo = (Fact(m) * Fact(n - m)) % Mod; long gyakugen = Pow(bunbo, Mod - 2); return (bunsi * gyakugen) % Mod; } public void Solve() { Scan(); ClacF(); long ans = 0; for(int i=1;i<=N;i++) { ans += (C(N, i) * Pow(i, N - i))%Mod; ans %= Mod; } Console.WriteLine(ans); } static public void Main() { new Magatro().Solve(); } }