A. Legs
题目描述
农场有鸡和牛,给定一个数求最小动物数量
思路
当n 大于4时一直减,sum++,最后剩余一个2,再加1
代码
int main()
{
int n;
cin>>n;
while(n--)
{
int sum=0;
int m;
cin>>m;
while(m>=4)
{
m-=4;
sum++;
}
while(m>0)//这里大于0,还是大于等于2,效果一样
{
m-=2;
sum++;
}
cout<<sum<<'\n';
}
return 0;
}
B. Scale
题目描述
将n*n的网格缩小k倍
思路
定义数组要用char ,当时一开始我用int 花费了大量时间 ,因为会超时,其他挺简单的,两个for循环,每次加k(或者只输出i,j对k求余为0的应该也可以,但是从1开始,不是0,0的话+1求余)
代码
void solve()
{
memset(a,0,sizeof(a));
int n,k;
cin>>n>>k;
for(int j=1;j<=n;j++)
for(int i=1;i<=n;i++)
cin>>a[j][i];
for(int j=1;j<=n;j+=k)//每次+k
{
for(int i=1;i<=n;i+=k)
cout<<a[j][i];
cout<<'\n';
}
}
}