Google APAC 2016 University Graduates Test(google校招笔试)

Problem A. Bad Horse

题意:给n个关系,每个关系有两个人,要求把这些人分成两组,每组里的人之间都没有关系。

二分图染色即可。关系=边,人=点。

#include<iostream>
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<algorithm>
#include<queue>
#include<set>
#include<map>
#include<vector>
#include<cmath>
#define ll __int64
#define INF 0x3fffffff
using namespace std;

int G[105][105];
int col[105];
int k;

bool bfs(int s) {
    queue<int> p;
    p.push(s);
    col[s] = 1;
    while(!p.empty()) {
        int from = p.front();
        p.pop();
        for(int i = 1; i <= k; i++) {
            if(G[from][i] && col[i] == -1) {
                p.push(i);
                col[i] = !col[from];//染成不同的颜色
            }
            if(G[from][i] && col[from] == col[i])//颜色有相同,则不是二分图
                return false;
        }
    }
    return true;
}

int main()
{
    //freopen("d:\\A-small-2-attempt0.in","r",stdin);
    //freopen("d:\\output.txt","w",stdout);
    int n,T,t=1;
    cin>>T;
    while(T--){
        cin>>n;
        k=0;
        map<string,int>m;
        memset(G,0,sizeof(G));
        memset(col, -1, sizeof(col));
        for(int i=0;i<n;i++){
            char a[105],b[105];
            cin>>a>>b;
            if(!m[a]) m[a]=++k;
            if(!m[b]) m[b]=++k;
            G[m[a]][m[b]]=1;
            G[m[b]][m[a]]=1;
        }
        bool flag=false;
        for(int i=1;i<=k;i++){
            if(col[i]==-1&&!bfs(i)){
                flag=true;
                break;
            }
        }
        if(!flag) cout<<"Case #"<<t++<<": "<<"Yes"<<endl;
        else cout<<"Case #"<<t++<<": "<<"No"<<endl;
    }
    return 0;
}<strong>
</strong>

Problem B. Captain Hammer

题意:给出斜抛运动的速度和水平位移,求斜抛角度。

#include<iostream>
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<algorithm>
#include<queue>
#include<set>
#include<map>
#include<vector>
#include<cmath>
#define ll __int64
#define INF 0x3fffffff
using namespace std;

int main()
{
    //freopen("d:\\Test.txt","r",stdin);
    //freopen("d:\\output.txt","w",stdout);
    int T,t=1;
    cin>>T;
    while(T--){
        double v,d,c;
        cin>>v>>d;
        c=asin(9.8*d/v/v) * 180.0/3.1415926/2.0;
        cout<<"Case #"<<t++<<": ";
        printf("%.7f\n",c);
    }
    return 0;
}

Problem C. Moist

题意:给n个字符串,要求按字典序排序,排序方法为从上往下扫,遇到一个比上面里的小的,就交换位置。求交换次数

#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<cstdlib>
#include<algorithm>
#include<queue>
#include<set>
#include<map>
#include<vector>
#include<cmath>
#define ll __int64
#define INF 0x3fffffff
using namespace std;

char s[105][105];
int n;

int main()
{
    //freopen("d:\\C-small-2-attempt0.in","r",stdin);
    //freopen("d:\\output.txt","w",stdout);
    int T,t=1;
    cin>>T;
    while(T--){
        cin>>n;
        getchar();
        for(int i=0;i<n;i++){
            gets(s[i]);
        }
        int ans=0;
        for(int i=0;i<n;i++){
            for(int j=0;j<i;j++){
                if(strcmp(s[j],s[i])>0){
                    swap(s[j],s[i]);
                    ans++;
                    break;
                }
            }
        }
        cout<<"Case #"<<t++<<": "<<ans<<endl;
    }
    return 0;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-11-05 13:39:24

Google APAC 2016 University Graduates Test(google校招笔试)的相关文章

Syncovery : Google Docs protocol completely replaced with Google Drive

Google Docs protocol completely replaced with Google Drive In May 2015, the older Google Docs API was shut down by Google, and it can no longer be used. It has been completely replaced with the newer Google Drive protocol. To handle the situation, th

google支付接口被刷以及解决方案 google支付查单

google支付接口被刷以及解决方案 google支付回调验证 Google支付问题 20150218,挂机的日本服务器出现google支付被刷单现象,虽然目前进行的修补,但是这个问题并没有完全从根源上解决.并且公司以前的GooglePlay支付也有不完善的地方,在SDK端给支付回调发送支付信息后,支付回调程序没有调用Google API进行订单验证.因此Google支付流程需要进行完善. Google支付解决方案 上面的支付问题,Google有自己的解决方案,就是根据订单号去向Google A

变化hosts 解决Google打开速度慢的问题 Google 全球IP地址 代理站点

Google 代替网 http://sinaapp.co http://alicdn.co http://baidustatic.co http://www.aol.com/ https://startpage.com/ 一个收费的 FQ站点 9元/月 https://ybb117.com/ 怎样不让google.com跳转到google.com.hk? 来自知乎 自从google的server搬离中国大陆后,大陆地区用户用google服务时会自己主动跳转到香港的http://google.co

(转)百度2015年校招笔试

百度2015年校招笔试 本文目录: 零.寒暄 一.笔试情况 二.总结 零.寒暄 腾讯的笔试结束,也就意味着9月份的战斗告一段落,每天四处奔波,很累也很充实.十一没有出去玩,也拒绝了一些应酬,把一些笔试题整理下,同时也回顾9月份的得失,好好总结,10月再战,告诫自己最难走的路一定是上坡路,坚持坚持! 不多说,看下26号百度的笔试题,我花了两天的时间整理下面的一些内容. 一.笔试情况 百度一共是8道题目,2个小时时间,题目不多,总体说来,考的是知识面的广度,开放的题目占多数.本人考的前端岗位.给大家

2014人人校招 笔试总结

2014人人校招,今天参加了笔试,主要内容包括操作系统.数据结构.计算机网络一共12道选择题,一道关于Sql的问答题(较复杂,删除重复的内容),三道编码题(字符串处理.转换数字为中文形势.大文件有重复且考虑内存情况下统计行数). 下面说一下我都做错了哪些吧!还有一些重点 1.粗心做错 对于类的"+"的重载,一道选择题,一不小心选错了,class A,正常重载成员函数原型为: A A::operator +(const A &A2); 2.基础不够 (1)友元函数的访问,一个类的

2014-09-10 去哪网校招笔试

去哪校招笔试.我报的开发,顺便把前端的题也做了. 1.二分查找.不说了. 2.统计字符串字符出现的次数. 不妨假定字符集用ASCII可以表示,开一个长度为256的数组,遍历字符串,统计字符出现次数.然后再次遍历,输出第一个出现两次的字符. 3.思路:(答题时用的java,表示没自动提示还真不习惯.) 统计每个句子中"your"出现的次数.时间有限,直接暴力搜了. class Sentence{ String s; int count; } 将句子放入 Sentence[] arr数组.

前端简单实现校招笔试&#39;作弊监听&#39;功能

一. 监听你的页面活动 最近校招笔试如火如荼地开展.各种小心思都浮上来了:"我就查一道".小心翼翼按了一下tab切换(mac用三爪),Document.visibilityState开始工作了."监测到你切换页面,超过xx次将影响你的成绩(希望你自重)" 二. visibilityState 值 描述 visible 此时页面内容至少是部分可见. 即此页面在前景标签页中,并且窗口没有最小化. hidden 此时页面对用户不可见. 即文档处于背景标签页或者窗口处于最小

Google APAC Test 2016 Not So Random 矩阵快递幂(logN复杂度)

Problem There is a certain "random number generator" (RNG) which takes one nonnegative integer as input and generates another nonnegative integer as output. But you know that the RNG is really not very random at all! It uses a fixed number K, an

2016年8月google代理最新地址

为搜索技术问题,特收集以下可用的Google代理地址 Google代理地址: http://www.sov5.com (推荐,django中文社区站长提供) http://www.jiuminghu.com/ http://www.gfsousou.cn http://gfss.cc.wallpai.com http://soguge.com/ https://g.namaho.com/ 以上地址随时可能无法使用,本站将会不定期更新可用地址,请保持关注! http://www.cnop.net/