結果
問題 | No.2201 p@$$w0rd |
ユーザー | Asahi |
提出日時 | 2023-02-03 21:29:42 |
言語 | Java (openjdk 23) |
結果 |
AC
|
実行時間 | 123 ms / 2,000 ms |
コード長 | 2,176 bytes |
コンパイル時間 | 2,609 ms |
コンパイル使用メモリ | 81,256 KB |
実行使用メモリ | 41,840 KB |
最終ジャッジ日時 | 2024-07-02 19:13:11 |
合計ジャッジ時間 | 5,881 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 24 |
ソースコード
import java.util.*; import java.io.*; import java.math.*; import java.util.stream.Stream; public class Main{ /* 入出力 */ static BufferedReader buff = new BufferedReader(new InputStreamReader(System.in)); static StringTokenizer st; static PrintWriter output = new PrintWriter(System.out); static Scanner sc = new Scanner(System.in); /* 定数 */ static final int [] y4 = {0,1,0,-1}; static final int [] x4 = {1,0,-1,0}; static final int INF1 = Integer.MAX_VALUE; static final long INF2 = Long.MAX_VALUE; static final long MOD1 = (long)1e9+7; static final long MOD2 = 998244353; /* Main */ public static void main(String[] args) throws IOException{ /* * bit全探索 */ String s = sc.next(); int len = s.length(); int ans = 0; Set<String> size = new HashSet<>(); for(int i=0;i<(1<<len);i++) { int c1 = 0; int c2 = 0; int c3 = 0; StringBuilder sb = new StringBuilder(); for(int j=0;j<len;j++) { int bit = (i>>j)&1; if(bit == 1) { if(s.charAt(j) == 'l'){ sb.append("1"); c2++; } else if(s.charAt(j) == 'o'){ sb.append("0"); c2++; } else if(s.charAt(j) == 'a'){ sb.append("@"); c3++; } else if(s.charAt(j) == 's'){ sb.append("$"); c3++; } else{ sb.append(s.substring(j,j+1)); c1++; } } else{ sb.append(s.substring(j,j+1)); c1++; } } if(c1 >= 1 && c2 >= 1 && c3 >= 1) { size.add(sb.toString()); } } output.print(size.size()); output.flush(); } }