NOIP水题测试(2017082401)】的更多相关文章

哈,水题测试又来了! 上次的水题简单吧! 答案是以单题形式发布的(旅行家的预算随后发布). 下面来看今天的题,还是水题. 时间限制:5小时 题目一:看上去就很水 题目二:比上面一题还水 题目三:数的划分 题目四:装箱问题 题目五:金明的预算方案 题目六:税收与补贴问题 题目七(水题加试):均分纸牌 今天题目更多,但还是很水的. Let's do it!…
日常水题测试又来了! 以后答案都以单题形式公布. 下面看今天的水题: 时间限制:5小时 题目一:无法形容的水 题目二:比上一题还水 题目三:一元三次方程求解 题目四:单词接龙 题目五:统计单词个数 题目六:乒乓球 题目七:栈 题目八:守望者的逃离 水题没话说,昨天感觉时间都多了! 开始吧! Let's do it!…
题目链接:失踪的7 水题,不解释. #include<bits/stdc++.h> using namespace std; int main(){ int t; scanf("%d",&t); while(t--){ int n,ans; scanf("%d",&n); ans=n; for(int i=7;i<=n;i++){ int x=i; while(x>0){ if(x%10==7){ ans--; break;…
题目链接:子数整数 水题,不解释,自己看代码: #include<bits/stdc++.h> using namespace std; int main(){ int k; scanf("%d",&k); int num[5]; int ok=0; for(int i=10000;i<=30000;i++){ int sub1=0,sub2=0,sub3=0; int x=i; for(int j=0;j<5;j++){ num[j]=x%10; x/…
你们从题目也能看出来今天的题是很水的. 前几期答案还没出,效率有点低,谅解,谅解. 今天的答案应该会出的很快. 下面给题目: 时间限制:3小时 题目一:旅行家的预算 题目二:进制转换 题目三:乘积最大 题目四:求先序排列 题目五:要多水有多水 题目六:比上一题还水 时间应该是够的,最后两题真心水. 答案今晚应该能出,要不就是明晚. 尽量今晚出. 祝各位好运.…
题目链接:装箱问题 这题经典的01背包. 动规. 设计状态f[n][V]表示前n个物体放在V中的最大体积是多少. 所以代码如下: #include<bits/stdc++.h> using namespace std; int f[35][20003]; int dp(int* v,int V,int n){ if(f[n][V]>0){ return f[n][V]; } if(n==0){ return 0; } if(V>=v[n-1]){ f[n][V]=max(dp(v,…
题目链接:数的划分 这题直接搜索就行了.给代码,思路没什么好讲的,要讲的放在代码后面: #include<bits/stdc++.h> using namespace std; int dfs(int n,int k,int cur){ if(k==1){ return 1; //1 } int ans=0; for(int i=cur;i*k<=n;i++){ //2 ans+=dfs(n-i,k-1,i); } return ans; } int main(){ int n,k; s…
题目链接:HXY玩卡片 很水, 简单讲一下思路. 如果没有0,直接无解,因为不可能是10的倍数. 是9的倍数,则各个数位上的数字和为9的倍数,所以5的数量一定是9的倍数,所以只要尽可能多输出9的倍数个5,然后把0全放后面就行. 下面给代码: #include<bits/stdc++.h> using namespace std; int main(){ int n; int nz=0,nf=0; scanf("%d",&n); for(int i=0;i<n;…
题目链接:Peter的烟 这道题基本做法很水,不解释. #include<bits/stdc++.h> using namespace std; int main(){ int n,k; scanf("%d%d",&n,&k); int ans=0; int num=0; //1 while(n>0){ ans+=n; int x=n+num; num=x%k; n=x/k; } printf("%d",ans); return 0…
题目链接:进制转换 这题得明白其中的数学方法,明白后就不难了. 那么我们应该怎么计算呢? 其实也很简单. 我们依然采取辗转相除法. 但是,对于负的余数,我们需要进行一些处理. 我们怎么处理呢? 很简单,我们只需要将余数加上我们的进制数的绝对值,然后将商加一,即可. 所以代码如下: #include<bits/stdc++.h> using namespace std; char num[]="0123456789ABCDEFGHIJ"; //1 int main(){ in…