首页 > 其他分享 >洛谷P1149 [NOIP2008 提高组] 火柴棒等式

洛谷P1149 [NOIP2008 提高组] 火柴棒等式

时间:2023-03-03 23:13:06浏览次数:61  
标签:10 洛谷 int 要用 ans NOIP2008 while 火柴 P1149

这道题就是一个经典的暴力枚举

题意是输出一共有的火柴根数,输出这些火柴棒用完可以有多少拼法

下面,我们来数一数拼成十个数和两个符号(’+‘ && ’=‘)各用几根火柴棒

0要用6根火柴 1要用2根火柴

2要用5根火柴 3要用5根火柴

4要用4根火柴 5要用5根火柴

6要用6根火柴 7要用3根火柴

8要用7根火柴 9要用6根火柴

而’+‘ 和’=’各需要2根火柴棒

先来看其中一段代码

int a[3000]={6,2,5,5,4,5,6,3,7,6};
int main(){
int n,ans=0,k=0,y=0;
cin>>n;
n-=4;

输入一个数,n,ans是记录有几次火柴棒可以全部拼完,k是来协助判断火柴棒是否用完,y是用来判断数的。

n-=4是先减去'+'和‘=’的火柴棒的个数的,剩下的就是数字用的火柴棒数

解决这些问题后,下面的代码就很重要了

for(int i=10;i<=3000;i++){
y=i;
while(y){
a[i]+=a[y%10];
y/=10;
}
}
for(int i=0;i<=1111;i++){
for(int j=0;j<=1111;j++){
k=i+j;
if(a[i]+a[j]+a[k]==n)
ans++;
}
}
cout<<ans;

第一个while是来记录数字的,第二个for是来判断是否满足条件的,满足条件就加一

 

 i和j<=1111是因为1111是他的最大限度

以上是代码最难的一部分,下面是全部代码

#include <bits/stdc++.h>
using namespace std;
int a[3000]={6,2,5,5,4,5,6,3,7,6};
int main(){
int n,ans=0,k=0,y=0;
cin>>n;
n-=4;
for(int i=10;i<=3000;i++){
y=i;
while(y){
a[i]+=a[y%10];
y/=10;
}
}
for(int i=0;i<=1111;i++){
for(int j=0;j<=1111;j++){
k=i+j;
if(a[i]+a[j]+a[k]==n)
ans++;
}
}
cout<<ans;
return 0;
}

//so easy

再会

886~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

标签:10,洛谷,int,要用,ans,NOIP2008,while,火柴,P1149
From: https://www.cnblogs.com/zsy-2010/p/17177315.html

相关文章

  • 洛谷P1149 [NOIP2008 提高组] 火柴棒等式
    这道题其实很简单只是个暴力枚举!!!题目大致意思是说给你一堆火柴棒,两个符号(‘+’&&‘-’)。第一个数字‘0’用了6根火柴棒,‘1’用了2根火柴棒,依此类推......这样,我们就能......
  • 洛谷 P4048更新题面
    [JSOI2010]冷冻波题目描述WJJ喜欢“魔兽争霸”这个游戏。在游戏中,巫妖是一种强大的英雄,它的技能FrozenNova每次可以杀死一个小精灵。我们认为,巫妖和小精灵都可以看成......
  • 洛谷P4051 [JSOI2007]字符加密 题解 后缀数组sa的应用
    题目链接:https://www.luogu.com.cn/problem/P4051题目大意:给定一个长度为\(n\)的字符串\(s\),每次将\(s\)的首字符取出放到末尾……这样能得到\(n\)个字符串。将......
  • 位运算-洛谷P1469 找筷子
    位运算的符号:与(&) and当两个数在二进制下对应位数上均为 11 时,得到的结果为 11.或(|) or当两个数在二进制下对应位数上有一个为 11 时,得到的结果为 11.......
  • [洛谷]P5401 [CTS2019] 珍珠 题解
    [洛谷]P5401[CTS2019]珍珠题解题意概述有\(D\)种珍珠,每种有无限颗,现在等概率的从\(D\)种珍珠中抽\(n\)次珍珠,每次抽\(1\)个珍珠,记第\(i\)种珍珠最后一共抽......
  • 【LGR-(-17)】洛谷入门赛 #8 个人赛后总结
    【LGR-(-17)】洛谷入门赛#8个人赛后总结前言这是本蒟蒻的第一篇博客,也是对第一次参加洛谷比赛的总结,如果有错误请指出。引子本蒟蒻第一次看到比赛时就迫不及待的报了......
  • 洛谷P1149
    [洛谷P1149]([P1149NOIP2008提高组]火柴棒等式-洛谷|计算机科学教育新生态(luogu.com.cn))publicclassP1149{ publicstaticvoidmain(String[]args){ S......
  • 洛谷P8471 [Aya Round 1 F] 琪露诺的选择题
    原题传送门题目描述有2⋅n道选择题,每题有A和B两个选项。正确答案可以表示为一个长度为2⋅n的字符串。现在你要构造出一份作答(长度同样为2⋅n的字符串),其中恰好......
  • AcWing356/洛谷P4180 次小生成树
    涉及知识点:最小生成树,倍增题意题目链接(洛谷)题目链接(AcWing)题目写的很清楚,给定一张N个点M条边的无向图,求无向图的严格次小生成树。设最小生成树的边权之和为sum,严格次......
  • 「题解」洛谷 P5829 【模板】失配树
    crashednb/se不过它解释为什么跳\(k\bmodd+d\)确实有点迷,不懂为什么直接跳\(k\bmodd\)会挂可以手摸一下峰峰峰的hack,从25开始跳。简单做法就是建出失配树然后......