1009:
放大K倍,模拟一下
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,m,k;
while(cin>>n>>m>>k)
{
for(int i=0;i<n;i++)
{
string s;
cin>>s;
int len=s.length();
for(int num=0;num<k;num++)
{
for(int j=0;j<len;j++)
{
for(int k2=0;k2<k;k2++)
cout<<s[j];
}
cout<<endl;
}
}
}
return 0;
}
1002
给你n个数,问你能否任选3个数组成三角形
最坏情况是斐波那契数列,无法组成三角形,因为是指数级增长,所以n如果大于100,就输出yes
小于100 再暴力判断
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int a[5000005];
int n;
int main()
{
while(~scanf("%d",&n))
{
for(int i=0;i<n;i++) scanf("%d",&a[i]);
if(n>100)
{
puts("YES");
continue;
}
sort(a,a+n); int flag=0;
for(int i=0;i<n-2;i++)
{
if((long long )a[i]+a[i+1]>a[i+2]&&((long long )a[i+2]-a[i+1]<a[i]))
{
flag=1;
break;
}
}
if(flag)puts("YES");
else puts("NO");
}
return 0;
}
1005
将字符串每个字符ASCII的二进制翻转组成的字符串以每6个一组输出
#include<bits/stdc++.h>
using namespace std;
int get(string s)
{
int ans=0;
int len1=s.length();
for(int i=0;i<len1;i++)
{
ans=ans*2+s[i]-'0';
}
return ans;
}
int main()
{
string s,ans,t;
cin>>s;
int len=s.size();
int num=len*4/3;
for(int i=0;i<len;i++)
{
t="";
int n=s[i];
while(n)
{
if(n%2==0)
t=t+'0';
else t=t+'1';
n/=2;
}
int len1=t.size();
for(int j=len1;j<8;j++)
t=t+'0';
ans+=t;
}
ans=' '+ans;
int len2=ans.size(),num1=0;
for(int i=1;i<=len2;i+=6)
{
string x=ans.substr(i,6);
num1++;
if(num1==num)
{
cout<<get(x)<<' ';
break;
}
else cout<<get(x)<<' ';
}
return 0;
}
1008
三视图,就判断是不是每个图当前位置都是1,求1的个数
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,m,k;
while(cin>>n>>m>>k)
{
int a[100][100],b[100][100],c[100][100],ans=0;
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
scanf("%d",&a[i][j]);
for(int i=0;i<m;i++)
for(int j=0;j<k;j++)
scanf("%d",&b[i][j]);
for(int i=0;i<k;i++)
for(int j=0;j<n;j++)
scanf("%d",&c[i][j]);
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
for(int k1=0;k1<k;k1++)
if(a[i][j]&&b[j][k1]&&c[k1][i]) ans++;
cout<<ans<<endl;
}
return 0;
}