目录
L2-015 互评成绩 - 简单模拟排序
1、java版 - 超时
java喜闻乐见的传统节目——运行超时
思路没问题 我觉得打比赛还是用c++吧……
import java.util.*;
public class Main
{
public static void main(String[] args)
{
Scanner sc=new Scanner(System.in);
int n=sc.nextInt(),k=sc.nextInt(),m=sc.nextInt();
int[] res=new int[n];
for(int i=0;i<n;i++)
{
int maxx=-1,minx=101,sum=0;
for(int j=0;j<k;j++)
{
int x=sc.nextInt();
maxx=Math.max(maxx,x);
minx=Math.min(minx,x);
sum+=x;
}
sum=sum-maxx-minx;
res[i]=sum;
}
Arrays.sort(res);
for(int i=n-m;i<n;i++)
{
if(i!=n-m) System.out.print(" ");
System.out.printf("%.3f",res[i]*1.0/(k-2));
}
}
}
2、c++版
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n,k,m;
cin>>n>>k>>m;
int res[n];
for(int i=0;i<n;i++)
{
int maxx=-1,minx=101,sum=0;
for(int j=0;j<k;j++)
{
int x;
cin>>x;
maxx=max(maxx,x);
minx=min(minx,x);
sum+=x;
}
sum-=maxx+minx;
res[i]=sum;
}
sort(res,res+n);
for(int i=n-m;i<n;i++)
{
if(i!=n-m) cout<<" ";
printf("%.3f",res[i]*1.0/(k-2));
}
}
L1-016 查验身份证 - 15
import java.util.*;
public class Main
{
public static void main(String[] args)
{
Scanner sc=new Scanner(System.in);
int[] w={7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};
char[] ck={'1','0','X','9','8','7','6','5','4','3','2'};
int n=sc.nextInt();
int cnt=0;
while(n-->0)
{
String s=sc.next();
int sum=0;
for(int i=0;i<17;i++) sum+=w[i]*(s.charAt(i)-'0');
char t=ck[sum%=11];
if(t==s.charAt(17)) continue;
cnt++;
System.out.println(s);
}
if(cnt==0) System.out.print("All passed");
}
}
L1-013 计算阶乘和 - 10
import java.util.*;
public class Main
{
public static void main(String[] args)
{
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
int sum=0;
for(int i=1;i<=n;i++)
{
int t=1;
for(int j=1;j<=i;j++)
t*=j;
sum+=t;
}
System.out.print(sum);
}
}
L1-011 A-B - 20
1、c++版
- cin //遇到空白(包括回车、空格等)结束输入
- getline(cin,str) //可以输入一行,能接收空格
#include <bits/stdc++.h>
using namespace std;
int main()
{
string s,str;
getline(cin,s);
getline(cin,str);
set<char>st;
for(auto x:str) st.insert(x);
for(auto x:s)
{
if(st.count(x)) continue;
cout<<x;
}
}
2、java版 - 超时
这题喜闻乐见的用Java超时 无语
import java.util.*;
public class Main
{
public static void main(String[] args)
{
Scanner sc=new Scanner(System.in);
String s=sc.nextLine();
String str=sc.nextLine();
Set<Character> st=new HashSet<>();
for(int i=0;i<str.length();i++) st.add(str.charAt(i));
for(int i=0;i<s.length();i++)
{
if(st.contains(s.charAt(i))) continue;
System.out.print(s.charAt(i));
}
}
}