关闭

浙大PAT甲级 1090 广搜

120人阅读 评论(0) 收藏 举报
分类:

广搜求层次,然后进行排序求出最大层次以及在最大层次结点的数目。

AC代码:

#include<iostream>
#include<map>
#include<cstdio>
#include<algorithm>
#include<queue>
#include<cstring>
#include<list>
#include<set>
#include<stack>
#include<cmath>
#include<vector>
#define ll long long
#define inf 999999999
using namespace std;
struct node
{
    int id;
    int lay;
};
vector<int> v[100000];
vector<node> vv;
bool cmp(node x,node y)
{
    return x.lay>y.lay;
}
void bfs(int x)
{
    queue<node> q;
    node tmp;
    tmp.id=x;
    tmp.lay=0;
    q.push(tmp);
    vv.push_back(tmp);
    while(!q.empty())
    {
        node rr=q.front();
        q.pop();
        for(int i=0;i<v[rr.id].size();i++)
        {
            node gg;
            gg.id=v[rr.id][i];
            gg.lay=rr.lay+1;
            q.push(gg);
            vv.push_back(gg);
        }
    }
}
int main()
{
      int n;
      double p,r;
      scanf("%d %lf %lf",&n,&p,&r);
      for(int i=0;i<n;i++)
      {
          int d;
          scanf("%d",&d);
          v[d].push_back(i);
      }
      bfs(-1);
     sort(vv.begin(),vv.end(),cmp);
     int ans=1;
     for(int i=1;i<vv.size();i++)
     {
         if(vv[i].lay==vv[0].lay)
         {
             ans++;
         }
     }
     double tt=(100+r)/100;
     double hh=p*pow(tt,vv[0].lay-1);
     printf("%.2lf %d",hh,ans);
}


0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

PAT甲级题解目录

github源码地址:https://www.github.com/liuchuo/PAT ID Title C/C++(附分析) 备注 1001 A+B Format (20) 查看题解 字符串处理 1002 A+B for Po...
  • liuchuo
  • liuchuo
  • 2016-09-10 22:19
  • 5486

浙大PAT考试1009~1012(1010是个神题。。)

哎,pat1010居然用java写的,不仅用java写的,还加了二分,,,唉,智商捉急啊,主要是pat有的范围也不给清楚。给人造成遐想的空间。。 还是按顺序介绍。。 题目地址:http://pat.zju.edu.cn/contests/pat-a-practise 1009: 题目...
  • opm777
  • opm777
  • 2014-06-13 01:22
  • 1720

浙大PAT考试1013~1016(最伤的一次。。)

我能说我1016WA了几天都不得最后还是拿别人代码交的么。。。 真心找不到那个神数据。。。 自己把整个程序的流程都画出来了,仔细推敲是木有问题的啊。。。 题目地址:http://pat.zju.edu.cn/contests/pat-a-practise 先从1013开始介绍。 题目大意...
  • opm777
  • opm777
  • 2014-06-29 23:40
  • 2066

PAT程序设计练习——甲级1002(两个多项式的解析与合并)

PAT程序设计能力测试 题目原文链接:点击打开链接 翻译题目要求: 程序输入为两行:均为一个多项式,按 K N1 An1 N2 An2 ......Nk Ank,K代表的是多项式的非零项数,范围闭区间是[1,10],N1到Nk的范围区间是 1 Nk是指数,Ank是系数,遇到相同的指数,系数进行累加...
  • xexiyong
  • xexiyong
  • 2015-12-14 13:18
  • 1092

PAT 1003. Emergency (25) (求两点间最短路的条数)

1003. Emergency (25) 时间限制 400 ms 内存限制 32000 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue As an emergency rescue team leader ...
  • IAccepted
  • IAccepted
  • 2014-03-18 12:19
  • 7803

浙大pat甲级 1025

结构体排序问题,可用vector v[105] 分别来保存每个考场考生的信息,分别对每个考场的学生按照成绩来排序得出每个考场的排名,再将学生全部存到总的vector中并排序,得出这次考试全部学生的排名,注意分数相同排名一样。 ac代码: #include #include #include #i...
  • luowei5513
  • luowei5513
  • 2016-08-14 15:04
  • 128

浙大 PAT 甲级1009

1009. Product of Polynomials (25) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN...
  • qq_32146369
  • qq_32146369
  • 2016-10-14 20:53
  • 448

<心情随笔>2017.3.4 第一次PAT甲级惨烈结果_小结

说不伤心是假的,真的挺伤心的。 毕竟准备了一整个寒假,算法笔记也都逼着自己看了一遍。 不知道那些大佬们是什么感觉,反正除了那道微博转发抽奖的20分的题目我看懂了之外,后面三道可以说当时脑子就是一片空白。。。第二道连蒙带猜居然过了一个测试点。。。 所以说,不能因为自己考的特别渣就说报这场考试不值,没有...
  • UNuomo
  • UNuomo
  • 2017-03-04 21:34
  • 642

浙大PAT甲级 1026

这个题目模拟队列,需要考虑的条件很多,在此列出: (1)vip的顾客优先考虑vip桌子,如果没有空vip桌子则考虑普通桌。 (2)普通客户也可以占vip桌子,当有多个桌子空则选择编号最小的桌。 (3)客户占用桌子时间不能超过2小时,超过则按2小时计算。 (4)如果在21点之前没有能够占到桌子...
  • luowei5513
  • luowei5513
  • 2016-08-20 11:47
  • 606

浙大PAT甲级-1002

这道题是大一的时候就做过的,当时刚学运算符重载。现在我用的是链表来做的,也算是复习一下快忘光的数据结构吧。#include #include using namespace std; //节点(多项式的项) struct listNode{ int exp; double coe; lis...
  • Nostalgia_
  • Nostalgia_
  • 2017-05-29 21:11
  • 170
    个人资料
    • 访问:13447次
    • 积分:998
    • 等级:
    • 排名:千里之外
    • 原创:91篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档