昨天没打,今天写了一下,前三题都没有难度吧。
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<limits.h>
#include<vector>
typedef long long LL;
using namespace std;
char mp[110][110];
int n;
int main()
{
while(cin>>n)
{
int ok=1;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
cin>>mp[i][j];
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
int cnt=0;
if(mp[i+1][j]=='o')
cnt++;
if(mp[i-1][j]=='o')
cnt++;
if(mp[i][j-1]=='o')
cnt++;
if(mp[i][j+1]=='o')
cnt++;
if(cnt&1)
{
ok=0;
break;
}
}
}
if(ok) cout<<"YES"<<endl;
else cout<<"NO"<<endl;
}
return 0;
}
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<limits.h>
#include<vector>
typedef long long LL;
using namespace std;
int hash[30];
int cmp(int a,int b)
{
return a>b;
}
int main()
{
int n,k;
char c;
while(cin>>n>>k)
{
memset(hash,0,sizeof(hash));
for(int i=0;i<n;i++)
{
cin>>c;
hash[c-'A']++;
}
sort(hash,hash+26,cmp);
LL sum=0;
for(int i=0;i<26;i++)
{
if(k==0) break;
if(k>=hash[i])
{
sum+=(LL)hash[i]*hash[i];
k-=hash[i];
}
else
{
sum+=(LL)k*k;
k=0;
}
}
cout<<sum<<endl;
}
return 0;
}
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<limits.h>
#include<vector>
typedef long long LL;
using namespace std;
LL num[300000+100];
int main()
{
int n;
while(~scanf("%d",&n))
{
LL sum=0;
for(int i=1;i<=n;i++)
scanf("%d",&num[i]);
sort(num+1,num+n+1);
for(int i=1;i<=n;i++)
sum+=num[i]*(i+1);
cout<<sum-num[n]<<endl;
}
return 0;
}