The text below is selected, press Ctrl+C to copy to your clipboard. (⌘+C on Mac) No line numbers will be copied.
Guest
Lib
By Guest on 15th September 2022 07:24:44 AM | Syntax: TEXT | Views: 10



New paste | Download | Show/Hide line no. | Copy text to clipboard
  1. import java.util.*;
  2. class UserSolution
  3. {
  4.         private final static int MAX_N                          = 5;
  5.         private final static int MAX_NAME_LEN           = 7;
  6.         private final static int MAX_TAG_LEN            = 4;
  7.        
  8.         //void mstrcpy(char dst[], char src[])
  9.         //{
  10.         //      int c = 0;
  11.         //      while ((dst[c] = src[c]) != '\0') ++c;
  12.         //}
  13.        
  14.         //int mstrcmp(char str1[], char str2[])
  15.         //{
  16.         //      int c = 0;
  17.         //      while (str1[c] != '\0' && str1[c] == str2[c]) ++c;
  18.         //      return str1[c] - str2[c];
  19.         //}
  20.         class book{
  21.         String name;
  22.         int sec;
  23.         Set<String> types;
  24.         public book(String name, int sec)
  25.         {
  26.             this.name=name;
  27.             this.sec=sec;
  28.             types= new HashSet<>();
  29.         }
  30.     }
  31.    
  32.     HashMap<String,book> bookspresent;
  33.     HashSet<String> sections[];
  34.         public void init(int M)
  35.         {
  36.          bookspresent= new HashMap<>();
  37.         sections= new HashSet[M+1];
  38.        
  39.         }
  40.        
  41.         public void add(char mName[], int mTypeNum, char mTypes[][], int mSection)
  42.         {
  43.         String name= String.valueOf(mName);
  44.         book b= new book(name,mSection);
  45.         for(int i=0;i<mTypeNum;i++)
  46.         {
  47.             String temp= String.valueOf(mTypes[i]);
  48.             b.types.add(temp);
  49.         }
  50.        
  51.         bookspresent.put(name,b);
  52.         if(sections[mSection]==null)
  53.         {
  54.             sections[mSection]= new HashSet<String>();
  55.             Set st= sections[mSection];
  56.             st.add(name);
  57.         }
  58.         else
  59.         {
  60.                Set st= sections[mSection];
  61.             st.add(name);
  62.         }
  63.                
  64.         }
  65.        
  66.         public int moveType(char mType[], int mFrom, int mTo)
  67.         {
  68.         String type=String.valueOf(mType);
  69.         Set<String> change= new HashSet<>();
  70.         Set sectionf= sections[mFrom];
  71.         Set sectiont=sections[mTo];
  72.         Iterator<String> it= sectionf.iterator();
  73.         while(it.hasNext())
  74.         {
  75.             String name= it.next();
  76.             book b1= bookspresent.get(name);
  77.             if(b1.types.contains(type))
  78.             {
  79.                 b1.sec=mTo;
  80.                 change.add(b1.name);
  81.             }
  82.         }
  83.         sectionf.removeAll(change);
  84.         sectiont.addAll(change);
  85.        
  86.         return change.size();
  87.         }
  88.        
  89.         public void moveName(char mName[], int mSection)
  90.         {
  91.         String name= String.valueOf(mName);
  92.         book b2 = bookspresent.get(name);
  93.         int del= b2.sec;
  94.         b2.sec= mSection;
  95.         sections[mSection].add(name);
  96.         sections[del].remove(name);
  97.  
  98.         }



  • Recent Pastes