結果
問題 | No.559 swapAB列 |
ユーザー |
![]() |
提出日時 | 2017-08-25 22:22:18 |
言語 | D (dmd 2.109.1) |
結果 |
AC
|
実行時間 | 1 ms / 2,000 ms |
コード長 | 3,403 bytes |
コンパイル時間 | 611 ms |
コンパイル使用メモリ | 99,976 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-06-12 21:43:23 |
合計ジャッジ時間 | 1,194 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 7 |
ソースコード
/+ dub.sdl:name "B"dependency "dcomp" version=">=0.6.0"+/import std.stdio, std.algorithm, std.range, std.conv;// import dcomp.foundation, dcomp.scanner;int main() {auto sc = new Scanner(stdin);string s;sc.read(s);int n = s.length.to!int;int cnt = 0;foreach (i; 0..n) {foreach (j; i+1..n) {if (s[i] == 'B' && s[j] == 'A') {cnt++;}}}writeln(cnt);return 0;}/* IMPORT /home/yosupo/Program/dcomp/source/dcomp/foundation.d */// module dcomp.foundation;static if (__VERSION__ <= 2070) {template fold(fun...) if (fun.length >= 1) {auto fold(R, S...)(R r, S seed) {import std.algorithm : reduce;static if (S.length < 2) {return reduce!fun(seed, r);} else {import std.typecons : tuple;return reduce!fun(tuple(seed), r);}}}}version (X86) static if (__VERSION__ < 2071) {import core.bitop : bsf, bsr, popcnt;int bsf(ulong v) {foreach (i; 0..64) {if (v & (1UL << i)) return i;}return -1;}int bsr(ulong v) {foreach_reverse (i; 0..64) {if (v & (1UL << i)) return i;}return -1;}int popcnt(ulong v) {int c = 0;foreach (i; 0..64) {if (v & (1UL << i)) c++;}return c;}}/* IMPORT /home/yosupo/Program/dcomp/source/dcomp/scanner.d */// module dcomp.scanner;class Scanner {import std.stdio : File;import std.conv : to;import std.range : front, popFront, array, ElementType;import std.array : split;import std.traits : isSomeChar, isStaticArray, isArray;import std.algorithm : map;File f;this(File f) {this.f = f;}char[512] lineBuf;char[] line;private bool succ() {import std.range.primitives : empty, front, popFront;import std.ascii : isWhite;while (true) {while (!line.empty && line.front.isWhite) {line.popFront;}if (!line.empty) break;if (f.eof) return false;line = lineBuf[];f.readln(line);}return true;}private bool readSingle(T)(ref T x) {import std.algorithm : findSplitBefore;import std.string : strip;import std.conv : parse;if (!succ()) return false;static if (isArray!T) {alias E = ElementType!T;static if (isSomeChar!E) {auto r = line.findSplitBefore(" ");x = r[0].strip.dup;line = r[1];} else {auto buf = line.split.map!(to!E).array;static if (isStaticArray!T) {assert(buf.length == T.length);}x = buf;line.length = 0;}} else {x = line.parse!T;}return true;}int read(T, Args...)(ref T x, auto ref Args args) {if (!readSingle(x)) return 0;static if (args.length == 0) {return 1;} else {return 1 + read(args);}}}