C. Are They All Integers?
题意:是给定n个数字判断对任意的(a[j]-a[i])/a[k]一定要是整数。
题解:
一开始以为用枚举会超时不过还是试了下,没想到没超时,直接过了,题目很简单,简单枚举就好。
#include<iostream> using namespace std; int main(){ int n,a[1001],sum; cin>>n; for(int i=0;i<n;i++){ cin>>a[i]; } for(int i=0;i<n;i++){ for(int j=0;j<n;j++){ for(int k=0;k<n;k++){ if(i!=j&&i!=k&&j!=k){ sum=a[i]-a[j]; if(sum%a[k]!=0){ cout<<"no"<<endl; return 0; } } } } } cout<<"yes"<<endl; return 0; }
D. Tapioka
题目意思:给3个字符串去掉其中所有的"bubble"和"tapioka"如果没有字符串了就输出nothing(签到题,比较简单)
题解:
根据题意做就好
#include <iostream> #include<map> #include<fstream> using namespace std; int main() { int n,i,j,k=0; map<string,int>h; string s[3],a,b,c; for(i=0; i<3; i++) { cin>>s[i]; if(s[i]=="bubble"||s[i]=="tapioka") { h[s[i]]=0; } else { h[s[i]]=1; } } for(i=0; i<3; i++) { if(h[s[i]]==1) { k=1; cout<<s[i]<<‘ ‘; } } if(k==0) { cout<<"nothing"; } return 0; }
K. Length of Bundle Rope
题目意思:
给定n个盒子用绳子把他们连起来,问最少需要多少的绳子,把多大的盒子连起来绳子大小就加上多少。
题解:
一开始想用dp,发现不用,就是把其中最小的两个盒子加起来,然后再判断,再把其中两个盒子加起来,直到n=2时,进行最后一个相加就好
#include<iostream> #include<algorithm> using namespace std; int main(){ int t,n,sum; int a[1001]; cin>>t; while(t--){ sum=0; cin>>n; for(int i=0;i<n;i++){ cin>>a[i]; } while(n>1){//如果有盒子可以相加,就继续循环 sort(a,a+n); sum=sum+a[0]+a[1];//将2个最小的盒子加起来n该-1 a[0]=a[0]+a[1]; for(int i=1;i<n;i++){ a[i]=a[i+1]; } n--;//加起来后n-1 } cout<<sum<<endl; } return 0; }
原文地址:https://www.cnblogs.com/liyongqi/p/12616903.html
时间: 2024-11-06 07:22:29