TT数鸭子
解题思路:这道题用一个a[10]储存每一个数字的个数,我用到string储存数字,注意在统计的时候需要-48因为是char到数字。
#include<iostream>
#include<string.h>
using namespace std;
int n,k;
int a[10];
int main()
{
std::ios::sync_with_stdio(false);
cin>>n>>k;
int ans=0;
while(n--)
{
int cnt=0;
for(int i=0;i<10;i++) a[i]=0; //存0,1,2...各有多少的数组
string x;
cin>>x;
int l=x.length();
for(int i=0;i<l;i++)
{
int j=x[i]-48; //字符转成数字
a[j]++;
}
for(int i=0;i<10;i++)
{
if(a[i]!=0) cnt++;
}
if(cnt<k) ans++;
}
cout<<ans;
return 0;
}
ZJM抵御宇宙射线
解题思路:就是计算这个点与其他店的距离,距离最大值就是半径,注意要在x相等的时候输出y更小的
#include<iostream>
#include<math.h>
using namespace std;
long long x[1010],y[1010];
int main()
{
int n;
long long minn=1e11,xe,ye;
cin>>n;
for(int i=0;i<n;i++)
cin>>x[i]>>y[i];
for(int i=0;i<n;i++)
{
long long maxx=0;
for(int j=0;j<n;j++)
{
long long tmp=(x[j]-x[i])*(x[j]-x[i])+(y[j]-y[i])*(y[j]-y[i]);
if(tmp>maxx)
maxx=tmp;
}
if(maxx==minn)
{
if(x[i]<xe||x[i]==xe&&y[i]<ye)
{
xe=x[i];
ye=y[i];
}
}
else if(maxx<minn)
{
minn=maxx;
xe=x[i];
ye=y[i];
}
}
printf("%lld.00 %lld.00\n",xe,ye);
printf("%lld.00",minn);
return 0;
}