B. I Hate 1111:题目

这题目太搞了呀,和dp感觉关系不大,数学题啊
首先要知道,11和111能构成后面所有的棍子数。
n = a*111+b*11;

最快做法

//算是规律?
#include <bits/stdc++.h>
using namespace std;
int main()
{int t;cin>>t;while (t--){int n;cin>>n;int k = n/110;int kk = n%11;if (k<kk) cout<<"NO"<<endl;else cout<<"YES"<<endl;}
}

部分暴力

对于互质的m,n。x=a∗m+b∗n。a>=0,b>=0
其中不能构造的最大的数是n ∗ m − n − m
大于n ∗ m − n − m的数,都可以通过m和n构造出来。
所以最大数是1099,以下都可以暴力求。
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
vector<int> a((int)6e5);
vector<int> b((int)3e5), c((int)3e5);
int main()
{int t;cin >> t;while (t--){int n, ff = 0;cin >> n;if (n > 1099)ff = 1;else{for (int i = 0; i * 111 <= n; i++){if ((n - i * 111) % 11 == 0){ff = 1;break;}}}if (ff)cout << "YES" << endl;elsecout << "NO" << endl;}
}

扩展欧几里得求得方程求解

#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
void gcd(int a,int b,int &d,int &x,int &y)
{if(!b){d=a;x=1;y=0;} else {gcd(b,a%b,d,y,x);y-=x*(a/b);}
}
int main()
{int t;cin>>t;int d,x,y;gcd(11,111,d,x,y);while(t--){int v;cin>>v;LL x0=x*v;LL y0=y*v;LL k=y0/11;if(x0+k*111>=0){cout<<"YES"<<endl;} else {cout<<"NO"<<endl;}}return 0;
}

纯暴力好像也行?

#include<iostream>
using namespace std;
int main()
{int t;cin >> t;while (t--){int x;cin >> x;int flag = 0;for (int i = 0; i < 11; i++){if (x % 11 == 0){flag = 1;break;}x -= 111;if (x < 0)break;}if (flag)cout << "YES" << endl;else cout << "NO" << endl;}
}

纯暴力确实行!

#include <bits/stdc++.h>
using namespace std;
int main()
{int t;scanf("%d",&t);while(t--){int x,flag=0;scanf("%d",&x);for(int i=0;i*111<=x;i++){if((x-i*111)%11==0){cout<<"YES"<<endl;flag=1;break;}}if(!flag)cout<<"NO"<<endl;} return 0;
}

1526B. I Hate 1111相关推荐

  1. codeforces 1526B I Hate 1111

    链接: https://codeforces.com/problemset/problem/1526/B 题意: 判断x能不能被11,111,1111.....组成. 本题,除了11和111以外,其他 ...

  2. PAT甲级1111 Online Map (30分):[C++题解]两次dijkstra求单源最短路、保存路径、长度最短、时间最短

    文章目录 题目分析 题目链接 题目分析 来源:acwing 分析:dijkstra求单源最短路的题目. 只是写两遍而已,第一遍求按照路径长度求,第二遍按照时间最少求. 另外加一个vector路径的判断 ...

  3. oracle报错无效列类型,jooq oracle存储过程与ARRAY,无效列类型:1111

    我想在Oracle中使用JOOQ调用存储过程.存储过程的某些输入和输出参数是自定义类型.jooq oracle存储过程与ARRAY,无效列类型:1111 其中之一的定义是: CREATE OR REP ...

  4. c语言在键盘输入abc回车,C语言期末考试试卷子商务1111、21.doc

    C语言期末考试试卷子商务1111.21 (所有题目答案请写在答题纸上) 一.单项选择题(每题2分, 共60分) 键盘输入为"123 ABC"时,下列程序的输出为_______ #i ...

  5. oracle 异常返回值,oracle - java.sql.SQLException:无效的列类型:调用具有行类型返回值的函数时为1111 - 堆栈内存溢出...

    我在一个名为" MyPackage"的Oracle软件包中有一个函数: FUNCTION MyFunction(name IN VARCHAR2) RETURN MyTable%r ...

  6. 信息学奥赛一本通 1111:不高兴的津津 | 1926:【04NOIP普及组】不高兴的津津| OpenJudge NOI 1.9 03 | 洛谷 P1085 [NOIP2004 普及组] 不高兴的津津

    [题目链接] ybt 1111:不高兴的津津 ybt 1926:[04NOIP普及组]不高兴的津津 OpenJudge NOI 1.9 03:不高兴的津津 洛谷 P1085 [NOIP2004 普及组 ...

  7. 信息学奥赛一本通(1111:不高兴的津津)

    1111:不高兴的津津 时间限制: 1000 ms         内存限制: 65536 KB 提交数: 29133     通过数: 20799 [题目描述] 津津上初中了.妈妈认为津津应该更加用 ...

  8. CSU 1111 三家人

    CSU 1111 三家人 Time Limit: 1 Sec Memory Limit: 128 MB Submit: 2221 Solved: 865 Description 有三户人家共拥有一座花 ...

  9. LeetCode 1111. 有效括号的嵌套深度

    1111. 有效括号的嵌套深度 思路:我们只需要把奇数层的 ( 分配给 A,偶数层的 ( 分配给 B 即可 //'(' 时奇数为1,偶数为0 class Solution { public:vecto ...

最新文章

  1. opensuse安装nginx
  2. 获取jar中的资源文件途径
  3. sql语句性能优化【转载】
  4. 将数据库改为使用登录名密码登陆
  5. 常考数据结构与算法:在二叉树中找到两个节点的最近公共祖先
  6. 卡巴斯基:儿童和老人的在线安全隐忧
  7. mysql从表截取信息_mysql中循环截取用户信息并插入到目标表对应的字段中
  8. 装箱问题(信息学奥赛一本通-T1226)
  9. 那些公司用计算机仪表电缆,计算机及仪表用电缆技术
  10. 《计算机网络基础》第一套作业,东财在线21春《计算机网络基础》第一套作业【标准答案】...
  11. gradle 修改java代码_Gradle 插件
  12. Go操作MySql Memache Mongodb
  13. linux下docker部署nginx
  14. ubuntu安装dockers和images:dvwa
  15. java 对象复制_程序员应该知道java虚拟机的22个重难点(干货)
  16. 《互联网大厂晋升指南》读书笔记-下
  17. Alfred插件之有道翻译配置过程
  18. Deeplab Training notes
  19. 编程思想的理解(POP,OOP,SOA,AOP)
  20. 微信又更新啦,再也不怕错过女朋友的消息

热门文章

  1. java 类型转换 安全_JAVA 类型转换指令
  2. java 转换url中文参数
  3. monaco-editor 监听保存按钮
  4. C语言1094题目,P1094 (C语言代码)
  5. mybatis3 类型别名
  6. 电子计算机职专东校区在哪,自贡计算机电子信息职业技术学校位置在哪儿
  7. bzoj3203: [Sdoi2013]保护出题人
  8. JavaSE简单实现多线程聊天
  9. delphi中的copy,delete,pos和leftstr,RightStr的用法
  10. 自定义标签 (choose)