(比赛)A - Simple String Problem
A - Simple String Problem
Time Limit:10000MS Memory Limit:65536KB 64bit IO Format:%lld & %llu
Description
In the process of repairing the network, workers can take two kinds of operations at every moment, repairing a computer, or testing if two computers can communicate. Your job is to answer all the testing operations.
Input
1. "O p" (1 <= p <= N), which means repairing computer p.
2. "S p q" (1 <= p, q <= N), which means testing whether computer p and q can communicate.
The input will not exceed 300000 lines.
Output
Sample Input
4 1
0 1
0 2
0 3
0 4
O 1
O 2
O 4
S 1 4
O 3
S 1 4
Sample Output
FAIL
SUCCESS //题意是,电脑都坏了,可以一个一个修复,电脑只能在一定的距离内才能连通,在询问是否连通的时候输出是否连通。
第一行是 n ,d ,d 是代表电脑能连通的最大距离,然后是 n 行坐标,在然后是命令 O 代表修复电脑,S 代表查询两个电脑是否连通 并查集简单的应用,压缩了路径就只用了1秒
1125 ms
#include <iostream>
#include <stdio.h>
#include <math.h>
using namespace std; struct Com
{
int x,y;
int on;
}com[];
int p[]; int find(int x)
{
if (x!=p[x])
p[x]=find(p[x]);
return p[x];
} int Distance(int a,int b,double x)
{
double j=(com[a].x-com[b].x)*(com[a].x-com[b].x);
double k=(com[a].y-com[b].y)*(com[a].y-com[b].y);
double l=sqrt(j+k);
if (x<l)
return ;
return ;
} int main()
{
int n,i;
double s;
scanf("%d%lf",&n,&s);
for (i=;i<=n;i++)
{
scanf("%d%d",&com[i].x,&com[i].y);
com[i].on=;
p[i]=i;
}
char str[];
int k;
while(scanf("%s",str)!=EOF)
{
if (str[]=='O')
{
scanf("%d",&k);
if (com[k].on==)
continue;
com[k].on=;
for (i=;i<=n;i++)
{
if (i==k||com[i].on==) //未修复
continue;
if (Distance(i,k,s))//距离超出
continue;
int fa=find(k);
int fb=find(i);
p[fa]=fb;
}
}
if (str[]=='S')
{
int a,b;
scanf("%d%d",&a,&b);
int fa=find(a),fb=find(b);
if (fa==fb)
{
printf("SUCCESS\n");
//没有这种情况
/* if (a!=b)
printf("SUCCESS\n");
else if (a==b&&com[a].on)
printf("SUCCESS\n");
else
printf("FAIL\n");*/
}
else
printf("FAIL\n");
}
}
return ;
}
(比赛)A - Simple String Problem的更多相关文章
- FZU - 2218 Simple String Problem(状压dp)
Simple String Problem Recently, you have found your interest in string theory. Here is an interestin ...
- FZU - 2218 Simple String Problem 状压dp
FZU - 2218Simple String Problem 题目大意:给一个长度为n含有k个不同字母的串,从中挑选出两个连续的子串,要求两个子串中含有不同的字符,问这样的两个子串长度乘积最大是多少 ...
- fzu2218 Simple String Problem
Accept: 2 Submit: 16 Time Limit: 2000 mSec Memory Limit : 32768 KB Problem Description Recent ...
- FZU 2218 Simple String Problem(简单字符串问题)
Description 题目描述 Recently, you have found your interest in string theory. Here is an interesting que ...
- FZU2218 Simple String Problem(状压DP)
首先,定义S,表示前k个字符出现的集合,用二进制来压缩. 接下来,推出dp1[S],表示集合为S的子串的最长长度. 然后根据dp1[S]再推出dp2[S],表示集合为S或S的子集的子串的最长长度. 最 ...
- FZU-2218 Simple String Problem(状态压缩DP)
原题地址: 题意: 给你一个串和两个整数n和k,n表示串的长度,k表示串只有前k个小写字母,问你两个不含相同元素的连续子串的长度的最大乘积. 思路: 状态压缩DP最多16位,第i位的状态表示第i位 ...
- Water --- CSU 1550: Simple String
Simple String Problem's Link: http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1550 Mean: 略. analy ...
- hdu4976 A simple greedy problem. (贪心+DP)
http://acm.hdu.edu.cn/showproblem.php?pid=4976 2014 Multi-University Training Contest 10 1006 A simp ...
- hdu 1757 A Simple Math Problem (乘法矩阵)
A Simple Math Problem Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Ot ...
随机推荐
- 关于国内外CV领域牛人的博客链接 .
此文为转载文章,尊重知识产权http://blog.csdn.net/carson2005/article/details/6601109此为原文链接,感谢作者! 以下链接是关于计算机视觉(Compu ...
- java学习之输入,输出流
输入流与输出流 1,流的分类:字节流和字符流 区别如下: 1,字节流(8位Unicode)在操作的时候本身是不会用到缓冲区(内存)的byte,是与文件本身直接操作的,而字符流(16位Unicode)在 ...
- IQueryable接口与IEnumberable 区别
总结一下: IEnumerable<T> 泛型类在调用自己的SKip 和 Take 等扩展方法之前数据就已经加载在本地内存里了,而IQueryable<T> 是将Skip ,t ...
- www.mentalis.org/
Top Downloads Here are the top downloads (within the last 24 hours): 1. Proxy2. IniReader3. ProxySoc ...
- Input.GetAxis 获取轴
static function GetAxis (axisName : string) : float Description描述 Returns the value of the virtual a ...
- Linux下的各文件夹的作用(转)
linux下的文件结构,看看每个文件夹都是干吗用的/bin 二进制可执行命令 /dev 设备特殊文件 /etc 系统管理和配置文件 /etc/rc.d 启动的配置文件和脚本 /home 用户主目录的基 ...
- Vue笔记五
十二.过滤器(filter) 示例代码: <template> <div id="app"> {{ msg | capitalize }} </div ...
- C连接MySql
连接数据库connect.c #include <stdio.h> #include <mysql/mysql.h> int main() { //MYSQL句柄 MYSQL ...
- 代理工具Charles使用
代理工具Charles使用 分类: MAC 2014-03-27 20:41 7810人阅读 评论(2) 收藏 举报 手机开发 一.跟踪HTTPS 1.下载官方的证书ssl.zip证书,解压成*.cr ...
- 初探J2EE
还记得在技术交流会上八期给我们讲的J2EE,当时就是云里来屋里去.留在自己脑子中的仅仅有两个字"规范",其他的真是一无全部. 可是如今学了后,又在脑子里留下了两个字"规范 ...