Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

submit again and again ^_^

Posted by Sempr at 2009-05-12 21:44:03 on Problem 1200
In Reply To:once ac (java code) Posted by:fishing_test at 2009-05-12 21:40:42
> import java.io.BufferedReader;
> import java.io.InputStreamReader;
> import java.util.HashSet;
> import java.util.Set;
> 
> public class Main {
> 
>     private static int[] count = new int[27];
> 
>     private static int current = 0;
> 
>     private static int getCount() {
>         int ret = 0;
> 
>         for (int i = 1; i <= 26; i++) {
>             if (count[i] > 0) {
>                 ret++;
>             }
>         }
> 
>         return ret;
>     }
> 
>     /**
>      * @param args
>      */
>     public static void main(String[] args) throws Exception {
>         BufferedReader stdin = new BufferedReader(new InputStreamReader(System.in));
> 
>         String line = stdin.readLine();
> 
>         String[] t = line.split("[ ]+");
> 
>         int n = Integer.parseInt(t[0]);
> 
>         int nc = Integer.parseInt(t[1]);
> 
>         line = stdin.readLine();
> 
>         int len = line.length();
> 
>         Set<String> set = new HashSet<String>();
> 
>         for (int i = 1; i <= 26; i++) {
>             count[i] = 0;
>         }
> 
>         StringBuilder sb = new StringBuilder();
> 
>         for (int i = 0; i < n; i++) {
>             sb.append(line.charAt(i));
>             count[line.charAt(i) - 'a' + 1]++;
>         }
> 
>         current = getCount();
> 
>         if (current <= nc) {
>             set.add(sb.toString());
>         }
> 
>         for (int i = n; i < len; i++) {
>             char c = sb.charAt(0);
>             sb.deleteCharAt(0);
> 
>             sb.append(line.charAt(i));
> 
>             if (count[c - 'a' + 1] == 1) {
>                 current--;
> 
>                 count[c - 'a' + 1]--;
>             } else {
>                 count[c - 'a' + 1]--;
>             }
> 
>             if (count[line.charAt(i) - 'a' + 1] == 0) {
>                 current++;
>                 count[line.charAt(i) - 'a' + 1]++;
>             } else {
>                 count[line.charAt(i) - 'a' + 1]++;
>             }
> 
>             set.add(sb.toString());
>         }
> 
> 
> 
>         System.out.println(set.size());
> 
>     }
> 
> }

Followed by:

Post your reply here:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator