[TC]SRM615 div1 250 AmebaDiv1
题意:给你一个变形虫,初始大小未知,在一定时间顺序内它会遇到n个凝胶,如果这个凝胶大小和他大小一样,他的大小加倍。问你最后变形虫不可能的大小有多少个。
解题思路:只有在n个凝胶大小出现过的值才会变,找出变化的即可 (做的慢掉分了)
解题代码:
// BEGIN CUT HERE /**/ // END CUT HERE #line 7 "AmebaDiv1.cpp" #include <cstdlib> #include <cctype> #include <cstring> #include <cstdio> #include <cmath> #include <algorithm> #include <vector> #include <string> #include <iostream> #include <sstream> #include <map> #include <set> #include <queue> #include <stack> #include <fstream> #include <numeric> #include <iomanip> #include <bitset> #include <list> #include <stdexcept> #include <functional> #include <utility> #include <ctime> using namespace std;#define PB push_back #define MP make_pair#define REP(i,n) for(i=0;i<(n);++i) #define FOR(i,l,h) for(i=(l);i<=(h);++i) #define FORD(i,h,l) for(i=(h);i>=(l);--i)typedef vector<int> VI; typedef vector<string> VS; typedef vector<double> VD; typedef long long LL; typedef pair<int,int> PII;struct node{long long x; int y ; }a[300];int cmp1(const void *a ,const void *b) {if((*(node*) a).x == (*(node *)b).x)return(*(node*) a).y - (*(node *)b).y;return(*(node*) a).x - (*(node *)b).x; } class AmebaDiv1 {public:int count(vector <int> X){int n = X.size();for(int i = 0 ;i < n;i ++){long long ans = X[i];for(int j = 0 ;j < n ;j ++)if(X[j] == ans)ans *= 2 ;a[i].x = ans;a[i].y = X[i] ; }qsort(a,n,sizeof(node),cmp1);node b[1000];int bnum = 1; b[1].x = a[0].x;b[1].y = a[0].y;for(int i =1; i< n;i ++){if(a[i].x != a[i-1].x || a[i].y != a[i-1].y ){bnum ++ ; b[bnum].x = a[i].x;b[bnum].y = a[i].y;} }int sum = 0 ;for(int i = 1;i <= bnum;i ++)for(int j = 0 ; j < n ;j ++){if(i >= 2 && b[i].x == b[i-1].x)break;if(b[i].x == X[j]){sum ++ ;break;;}}return bnum-sum + tsum ;}};
View Code
转载于:https://www.cnblogs.com/zyue/p/3646233.html
[TC]SRM615 div1 250 AmebaDiv1相关推荐
- TC SRM683 Div1 250
大意是有一排石子,每一堆有a[i]个,目标状态每一堆有b[i]个,每一步可以从一堆中取出一个石子转移到相邻的一个,其中1和n也算相邻也即环形.问最少步数. 比赛的时候写了个按照步数贪心的做法,FST了 ...
- Topcoder SRM 655 DIV1 250 CountryGroupHard
题意:不同国家的人站在一起,同一个国家的人相邻站,给你一个数组,表示 这个位置属于的国家有几个人,0可以是任何数字,问你能不能确定这个数组(只有一个解) 解题思路:搜索 解题代码: 1 // BEGI ...
- 国内C/C++刷题网站汇总
作者:Luau Lawrence 链接:https://www.zhihu.com/question/25574458/answer/31175374 来源:知乎 - Welcome To PKU J ...
- JS学习之路,菜鸟总结的注意事项及错误更正
JavaScript 是一种面向对象的动态语言,它的语法来源于 Java 和 C,所以这两种语言的许多语法特性同样适 用于 JavaScript.需要注意的一个主要区别是 JavaScript 不支持 ...
- 刷题!刷题!刷题网!!!
0.网易有道OJ : http://oj.youdao.com/ 刷题汇总: https://vjudge.net/ 1.赛码网 :http://www.acmcoder.com/index 2.计蒜 ...
- 编译原理课程实践——实现一个初等函数运算语言的解释器或编译器
编译原理课程实践--实现具有初等函数运算语言的解释器或编译器 作者:Sylvan Ding |转载请注明文章出处! 摘要:本文主要内容是设计词法分析器.语法分析器(LL(1).SLR(1))和语义分析 ...
- 整理:ACM相关好的网站 OJ Blog (不断更新)
ACM-ICPC世界网站 http://acm.timus.ru http://acm.sgu.ru http://acm.hnu.cn http://acm.hdu.edu.cn http://ac ...
- DB2 ODBC简介
http://www.ibm.com/developerworks/cn/data/library/techarticles/dm-1008yanqh/?S_TACT=105AGX52&S_C ...
- TC SRM 655 Div1 Level 3 题解
TC SRM 655 Div1 Level 3 题解 题目传送门 dp+几何 首先可以发现凸包是顺时针排列的一些线段构成的.我们可以预处理每一个蓝点是否都在一个线段 r [ i ] → r [ j ] ...
最新文章
- for...in和 for...of
- C#第一个程序Helloworld
- MySQL - 高效的设计MySQL库表
- table_line
- 一:Greenplum5.10.2 生产环境安装配置 (系统初始化、安装准备)
- ubuntu下集群设置静态ip
- 预防死锁可以破坏哪些死锁的必要条件
- 关于INADDR_ANY
- Mozilla Firefox 7.0 发布
- php phar效率,PHP的Phar包原来性能这么强
- Tensorboard 安装及使用
- visual studio设置背景颜色为眼睛保护色
- 把RAdam和LookAhead合二为一
- 软件工程毕业设计课题(19)基于JAVA毕业设计JAVA外卖点餐系统毕设作品项目
- vijos 1641 Vs Snowy
- 小米科技面试题-互联网老辛整理
- python下载电影天堂视频_Python抓取电影天堂电影信息的代码
- 百度地图绘制大量标注点卡顿问题完美解决
- Brain Predicted Age (一)
- oracle 12 去掉 cdb,Oracle 12c no-CDB转换为CDB
热门文章
- TestNG学习(一)
- Apache OpenNLP
- JAVA程序员代表大众车,C++程序员代表捷豹,看看各类程序员们代表着什么车
- Python包管理器-pip
- 也来谈一谈js的浅复制和深复制
- solr6.6 导入 文本(txt/json/xml/csv)文件
- 使用阿里云容器服务Jenkins 2.0实现持续集成之the tag you want篇(updated on 2017.09.06)...
- Linux基础 权限与用户管理命令
- day12 python学习随笔 中
- iOS开发 - 利用js去除webview广告