下次准备写py 和 c++两种版本
分两种情况,一种含有0,一种不含有0,简单模拟
C++
- #include
- #define ll long long
- using namespace std;
- int cnt[10]={6,2,5,5,4,5,6,3,7,6};
- int main(){
- int n;cin>>n;
- int ans=0;
- n-=4;
- //不考虑存在0的情况
- for(int i=1;i<=1111;i++){
- for(int j=1;j<=1111;j++){
- int t=0,temi=i,temj=j,tem=i+j;
- while(temi){ t+=cnt[temi%10];temi/=10; };
- while(temj){ t+=cnt[temj%10];temj/=10; };
- while(tem){ t+=cnt[tem%10];tem/=10; };
- if(t==n)ans++;
- }
- }
- if(n%2==0){
- int k=(n-6)/2;0i
- //考虑0+0=0
- if(k==6)ans++;
- for(int i=1;i<11111;i++){
- int tem=i,t=0;
- while(tem){ t+=cnt[tem%10];tem/=10; }
- if(t==k)ans+=2;
- }
- }
- cout<
- return 0;
- }
python
TLE 代码,应该优化一下可以过,但是主要是练py语法,懒得改了
- n=int(input())-4
- ls =[6,2,5,5,4,5,6,3,7,6]
- ans=0;
- #不考虑存在0的情况
- for i in range(1,111):
- for j in range(i,111):
- t = 0
- t += sum([ls[q] for q in list(map(int,list(str(i))))])
- t += sum([ls[q] for q in list(map(int,list(str(j))))])
- t += sum([ls[q] for q in list(map(int,list(str(i+j))))])
- if t==n :
- if i==j : ans+=1
- else : ans+=2
- #考虑存在0的情况
- if n%2 == 0 :
- k=(n-6)/2
- #考虑0+0=0
- if k==6 :
- ans+=1;
- for i in range(1,1112) :
- t = 0
- t += sum([ls[q] for q in list(map(int,list(str(i))))])
- if t==k :
- ans+=2
- print(ans)
B-[NOIP2014]珠心算测试
先排序,从最大数遍历,第三个数通过st[]优化运时
C++
- #include
- #define ll long long
- using namespace std;
- int a[110],st[10010];
- int main(){
- int n,cnt=0;cin>>n;
- for(int i=0;i
- cin>>a[i];
- st[a[i]]=1;
- }
- sort(a,a+n);
- for(int i=n-1;i>=2;i--){
- for(int j=i-1;j>=0;j--){
- if( st[a[i]-a[j]] ){ cnt++; break; }
- }
- }
- cout<
- return 0;
- }
python
- n=input()
- ls=list(map(int,input().split()))
- cnt=0
- for i in range(len(ls)):
- for j in range(i+1,len(ls)):
- if ls[j]>ls[i]:
- temp=ls[i]
- ls[i]=ls[j]
- ls[j]=temp
- for i in range(0,len(ls)):
- flag=0
- for q in range(i+1,len(ls)):
- for p in range(q+1,len(ls)):
- if ls[i]==ls[p]+ls[q]:
- flag=1
- if flag==1 :
- cnt+=1
- print(cnt)
C-[NOIP2009]多项式输出
真的写了好多遍这题了...(两种解法:1.按项讨论;2.按每项分为符号 系数...)
- #include
- #define ll long long
- using namespace std;
- int a[110];
- int main(){
- int n;cin>>n;
- for(int i=n;i>=0;i--)cin>>a[i];
- for(int i=n;i>=0;i--){
- if(a[i]==0)continue;
-
- if(a[i]<0)cout<<'-';
- else if(i!=n && a[i]>0)cout<<'+';
-
- if(i==0)cout<<abs(a[i]);
- else if(abs(a[i])!=1)cout<<abs(a[i]);
-
- if(i>=1)cout<<'x';
-
- if(i!=1 && i!=0)cout<<'^'<
- }
- return 0;
- }
D-[NOIP2012]质因数分解
水题
- #include
- #define ll long long
- using namespace std;
- int main(){
- int n,p;cin>>n;
- for(int i=2;i
- if(n%i==0){p=i;break;}
- cout<
- return 0;
- }
E-[NOIP2001]数的计算
简单dp(递推也行):f[i]=1+f[i/2]+f[i/2-1]+...+f[1]
解析:每个自然数左边可以加上小于他一半的数的所有的满足性质的数(f[i/2]+f[i/2-1]+...+f[1]),或者不加(+1)
- #include
- #define ll long long
- using namespace std;
- int f[1010];
- int main(){
- int n;cin>>n;
- f[1]=1;
- for(int i=2;i<=n;i++){
- f[i]=1;
- for(int j=1;j*2<=i;j++)
- f[i]+=f[j];
- }
- cout<
- return 0;
- }
-
相关阅读:
化交易之One Piece篇 - onepiece_rsh - reset trading_time.json
Azure - 机器学习:使用自动化机器学习训练计算机视觉模型的数据架构
基于elasticjob的入门maven项目搭建
现代 CSS 解决方案:CSS 数学函数
HTML-DAY2
CSS 基础知识-01
java: 无效的目标发行版: 17 问题解决
驱动开发:内核RIP劫持实现DLL注入
论文复现笔记
【面向对象依赖关系概念总结】面向对象程序设计的五种依赖关系
-
原文地址:https://blog.csdn.net/m0_64839851/article/details/126562340