Hdu Girls' Day

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 1629    Accepted Submission(s): 490

Problem Description
Hdu
Girls' Day is a traditional activity in Hdu. Girls in Hdu participate
in the activity and show their talent and skill. The girls who win in
the activity will become the Hdu's vivid ambassadors(形象大使). There are
many students in Hdu concern the activity. Now it's the finally
competition to determine who will be the Hdu's vivid ambassadors. The
students vote for the girl they prefer. The girl who has the most number
of votes will be the first. You as a student representing Hdu Acm team
has a chance to vote. Every girl who participates in the activity has an
unique No. and name. Because you very like prime number, you will vote
for the girl whose No. has the maximum number of unique prime factors.

For
example if the girl's No. is 12, and another girl's No. is 210, then
you will choose the girl with No. 210. Because 210 = 2 *3 * 5*7 , 12 =
2*2*3. 210 have 4 unique prime factors but 12 just have 2. If there are
many results, you will choose the one whose name has minimum
lexicographic order.
 
Input
The
first line contain an integer T (1 <= T <= 100).Then T cases
followed. Each case begins with an integer n (1 <= n <= 1000)
which is the number of girls.And then followed n lines ,each line
contain a string and an integer No.(1 <= No. <= 2^31 - 1). The
string is the girl's name and No. is the girl's No.The string's length
will not longer than 20.
 
Output
For each case,output the girl's name who you will vote.
 
Sample Input
2
3
Kate 56
Lily 45
Amanda 8
4
Sara 55
Ella 42
Cristina 210
Cozzi 2
 
Sample Output
Kate
Cristina
 
Source
感慨:啊啊啊,不知道合数可以被分解成质因数相乘,还有快排返回值。WA了好久啊!
收获:1.正整数可以分为1,合数,质数 。其中每个合数都可以写成几个质数相乘的形式。
   2.strcmp函数:设这两个字符串为str1,str2,

          若str1==str2,则返回零;
          若str1>str2,则返回正数;
          若str1<str2,则返回负数。
   3.求解质因数两种算法
    第一个:用于每次只能求出一个数的质因子,适用于题目中给的n的个数不是很多,但是n又特别大的;(http://www.cnblogs.com/jiangjing/archive/2013/06/03/3115399.html)第二个:一次求出1~n的所有数的质因子,适用于题目中给的n个数比较多的,但是n不是很大的。(http://www.cnblogs.com/jiangjing/archive/2013/06/01/3112035.html)
#include <cstdio>
#include <iostream>
#include <cstdlib>
#include <algorithm>
#include <ctime>
#include <cmath>
#include <string>
#include <cstring>
#include <stack>
#include <queue>
#include <list>
#include <vector>
#include <map>
#include <set>
using namespace std; const int INF=0x3f3f3f3f;
const double eps=1e-;
const double PI=acos(-1.0);
#define maxn 500
int a[] = {, , , , , , , , , };
struct Node
{
int num;
int cnt;
char s[];
}node[];
int cmp(Node a, Node b)
{
if(a.cnt == b.cnt)
{
if(strcmp(a.s,b.s)<)
return true;
else
return false;
}
return a.cnt > b.cnt;
}
int main()
{
int t, n;
scanf("%d", &t);
while(t--)
{
scanf("%d", &n);
for(int i = ; i < n; i++)
{
scanf("%s%d", node[i].s, &node[i].num);
if(node[i].num == )
{
node[i].cnt = ;
continue;
}
node[i].cnt = ;
for(int j = ; a[j]<= node[i].num; j++)
{
if(j >= )
break;
if(node[i].num%a[j] == )
{
node[i].cnt++;
while(node[i].num%a[j]==)
node[i].num = node[i].num/a[j];
}
}
if(node[i].num != )
node[i].cnt++;
} sort(node, node + n, cmp);
printf("%s\n", node[].s);
}
return ;
}
 

hdu2574 Hdu Girls' Day (分解质因数)的更多相关文章

  1. hdu 5428 The Factor 分解质因数

    The Factor  Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://bestcoder.hdu.edu.cn/contests/contest ...

  2. HDU 5428 分解质因数

                                                                                                   The F ...

  3. java分解质因数

      package test; import java.util.Scanner; public class Test19 { /** * 分析:对n进行分解质因数,应先找到一个最小的质数k * 最小 ...

  4. 程序设计入门——C语言 第6周编程练习 1 分解质因数(5分)

    1 分解质因数(5分) 题目内容: 每个非素数(合数)都可以写成几个素数(也可称为质数)相乘的形式,这几个素数就都叫做这个合数的质因数.比如,6可以被分解为2x3,而24可以被分解为2x2x2x3. ...

  5. 【python】将一个正整数分解质因数

    def reduceNum(n): '''题目:将一个正整数分解质因数.例如:输入90,打印出90=2*3*3*5''' print '{} = '.format(n), : print 'Pleas ...

  6. light oj 1236 分解质因数

    题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=70017#problem/H 题意:求满足1<=i<=j<=n ...

  7. 【基础数学】质数,约数,分解质因数,GCD,LCM

    1.质数: 质数(prime number)又称素数,有无限个.一个大于1的自然数,除了1和它本身外,不能整除以其他自然数(质数),换句话说就是该数除了1和它本身以外不再有其他的因数. 2.约数: 如 ...

  8. 将n(0<=n<=10000)的阶乘分解质因数,求其中有多少个m

    给定两个数m,n,其中m是一个素数. 将n(0<=n<=10000)的阶乘分解质因数,求其中有多少个m. 输入 第一行是一个整数s(0<s<=100),表示测试数据的组数 随后 ...

  9. cdoj 1246 每周一题 拆拆拆~ 分解质因数

    拆拆拆~ Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.uestc.edu.cn/#/problem/show/1246 Descri ...

随机推荐

  1. 配置文件入门 - WebConfig.config常用配置节点介绍

    一.配置文件入门 .Net提供了一种保存项目配置信息的办法,就是利用配置文件,配置文件的后缀一般是.config.在WinForm程序中配置文件一般是App.config.在Asp.net中一般默认是 ...

  2. WPF 利用子线程弹出子窗体的研究

    一般来说子线程都是用来处理数据的,主窗体用来实现展现,但是有些时候我们希望子窗体实现等待效果,遮挡主窗体并使主窗体逻辑正常进行,这个业务需求虽然不多,但是正好我们用到了,于是我打算把研究成果写在这了. ...

  3. shell字符串

    字符串是shell编程中最常用最有用的数据类型(除了数字和字符串,也没啥其它类型好用了),字符串可以用单引号,也可以用双引号,也可以不用引号.单双引号的区别跟PHP类似. 单引号 str='this ...

  4. 剑指offer-面试题.二叉树的镜像

    题目:请完成一个函数,输入一个二叉树,该函数输出它的镜像.  二叉树节点定义如下: strcut BinaryTreeNode { int val; strcut BinaryTreeNode* m_ ...

  5. php编程提高执行效率技巧

    PHP开发提高效率技巧     0.用单引号代替双引号来包含字符串,这样做会更快一些.因为PHP会在双引号包围的字符串中搜寻变量,单引号则不会,注意:只有echo能这么做,它是一种可以把多个字符串当作 ...

  6. Train Problem I(栈)

    Train Problem I Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)T ...

  7. 带你走近AngularJS - 创建自己定义指令

    带你走近AngularJS系列: 带你走近AngularJS - 基本功能介绍 带你走近AngularJS - 体验指令实例 带你走近AngularJS - 创建自己定义指令 ------------ ...

  8. Error:Execution failed for task &#39;:app:dexDebug&#39;. &gt; com.android.ide.common.process.ProcessException

    异常Log: Error:Execution failed for task ':app:dexDebug'. > com.android.ide.common.process.ProcessE ...

  9. SSH2配置事务的两种方式

    <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...

  10. GCC、GDB、Makefile

    1.GCC程序编译 Linux系统下的gcc(GNUCCompiler)是GNU推出的功能强大.性能优越的多平台编译器,是GNU的代表作之一.gcc可以在多种硬体平台上编译出可执行程序,其执行效率与一 ...