挑大写字符
解题思路
水题
import java.util.Scanner;
public class Main{
public static void main(String[]args){
Scanner cin=new Scanner(System.in);
while(cin.hasNext()){
String str=cin.nextLine();
StringBuilder res=new StringBuilder("");
int n=str.length();
for(int i=0;i<n;i++){
char tmp=str.charAt(i);
if(tmp==' '||(tmp>='A'&&tmp<='Z'))res.append(String.valueOf(tmp));
}
System.out.println(res.toString());
}
}
}
剩余的文件数
解题思路
水题
注意:如果摘除的文件数大于当前的文件数,则将当前的文件全部摘除。
import java.util.Scanner;
public class Main{
public static void main(String[]args){
Scanner cin=new Scanner(System.in);
int res=0;
while(cin.hasNext()){
String str=cin.next();
if(str.equals("end")){
System.out.println("current "+res);
res=0;
continue;
}
int num=cin.nextInt();
if(str.equals("binding"))res+=num;
if(str.equals("remove"))res-=num;
if(res<0)res=0;
}
}
}
定时器
解题思路
直接模拟吧。。。
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
import java.util.TreeMap;
public class Main{
public static void main(String[]args){
Scanner cin=new Scanner(System.in);
int res=0;
int ans=0;
Map<Integer,Integer>id=new HashMap<Integer,Integer>();
Map<Integer,Integer>start=new HashMap<Integer,Integer>();
Map<Integer,Integer>order=new TreeMap<Integer,Integer>();
while(cin.hasNext()){
String str=cin.next();
if(str.equals("end")){
boolean flag=false;
for(int i=0;i<ans;i++){
int idx=order.get(i);
if(idx==-1)continue;
int time=id.get(idx);
if(time>0){
flag=true;
System.out.println("timer:"+idx+","+(time));
}
}
if(!flag)System.out.println("none");
res=0;
ans=0;
id=new HashMap<Integer,Integer>();
order=new HashMap<Integer,Integer>();
start=new HashMap<Integer,Integer>();
continue;
}
char a=str.charAt(0);
if(a=='e'){
int t=Integer.parseInt(str.substring(7));
for(int idx:id.keySet()){
int time=id.get(idx);
id.put(idx, time-t);
if(time-t<=0){
int ord=start.get(idx);
order.put(ord, -1);
}
}
//System.out.println("x"+Integer.parseInt(str.substring(7)));
}else if(a=='s'){
if(str.charAt(2)=='o'){
int idx=Integer.parseInt(str.substring(10));
//System.out.println("y"+idx);
if(id.containsKey(idx)){
id.put(idx, -1);
int ord=start.get(idx);
order.put(ord, -1);
}
}else{
String[] s=str.substring(11).split(",");
int idx=Integer.parseInt(s[0]);
int time=Integer.parseInt(s[1]);
//System.out.println("z"+idx+" "+time);
id.put(idx, time);
start.put(idx, ans);
order.put(ans, idx);
ans++;
}
}
}
}
}