目录
L2-017 人以群分 - 简单排序
因为要活跃度尽可能大 而人数差尽可能小
所以多的那部分是较大的数 少的那部分是较小数
1、java - 喜闻乐见运行超时
import java.util.*;
public class Main
{
public static void main(String[] args)
{
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
int[] arr=new int[n];
for(int i=0;i<n;i++) arr[i]=sc.nextInt();
Arrays.sort(arr);
System.out.println("Outgoing #: "+(n-n/2));
System.out.println("Introverted #: "+n/2);
int s1=0,s2=0;
for(int i=0;i<n/2;i++) s1+=arr[i];
for(int i=n/2;i<n;i++) s2+=arr[i];
System.out.print("Diff = "+(s2-s1));
}
}
2、c++
#include <bits/stdc++.h>
using namespace std;
bool cmp(int x,int y)
{
return x>y;
}
int main()
{
int n,s1=0,s2=0;
int a[100001];
cin>>n;
for(int i=0;i<n;i++) cin>>a[i];
sort(a,a+n,cmp);
cout<<"Outgoing #: "<<n-n/2<<endl;
cout<<"Introverted #: "<<n/2<<endl;
for(int i=0;i<n-n/2;i++) s1+=a[i];
for(int i=n-n/2;i<n;i++) s2+=a[i];
cout<<"Diff = "<<s1-s2;
}
L1-023 输出GPLT - 20
1、java - 最后一个点喜闻乐见超时
import java.util.*;
public class Main
{
public static void main(String[] args)
{
Scanner sc=new Scanner(System.in);
String s=sc.next();
int g=0,p=0,l=0,t=0;
for(char c:s.toCharArray())
{
if(c=='G'||c=='g') g++;
else if(c=='P'||c=='p') p++;
else if(c=='L'||c=='l') l++;
else if(c=='T'||c=='t') t++;
}
int sum=g+l+p+t;
String res="";
for(int i=0;i<sum;i++)
{
if(g>0)
{
res+="G";
g--;
}
if(p>0)
{
res+="P";
p--;
}
if(l>0)
{
res+="L";
l--;
}
if(t>0)
{
res+="T";
t--;
}
}
System.out.print(res);
}
}
2、c++
#include <bits/stdc++.h>
using namespace std;
int main()
{
string s;
cin>>s;
int g=0,p=0,l=0,t=0;
for(auto x:s)
{
if(x=='G'||x=='g') g++;
else if(x=='P'||x=='p') p++;
else if(x=='L'||x=='l') l++;
else if(x=='T'||x=='t') t++;
}
string res="";
int sum=g+l+p+t;
for(int i=0;i<sum;i++)
{
if(g-->0) res+="G";
if(p-->0) res+="P";
if(l-->0) res+="L";
if(t-->0) res+="T";
}
cout<<res;
}
L1-019 谁先倒 - 15
import java.util.*;
public class Main
{
public static void main(String[] args)
{
Scanner sc=new Scanner(System.in);
int a=sc.nextInt(),b=sc.nextInt();
int n=sc.nextInt();
int da=0,db=0;
while(n-->0)
{
int ah=sc.nextInt(),ac=sc.nextInt();
int bh=sc.nextInt(),bc=sc.nextInt();
if(ac==ah+bh&&bc==ah+bh) continue;
if(ac==ah+bh) da++;
else if(bc==ah+bh) db++;
if(da>a)
{
System.out.println("A");
System.out.print(db);
break;
}
else if(db>b)
{
System.out.println("B");
System.out.print(da);
break;
}
}
}
}
L1-022 奇偶分家 - 10
import java.util.*;
public class Main
{
public static void main(String[] args)
{
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
int j=0,o=0;
while(n-->0)
{
int x=sc.nextInt();
if(x%2==1) j++;
else o++;
}
System.out.print(j+" "+o);
}
}