谷歌校招笔试的练习赛,题目很简单,应该只是用来熟悉环境的

题目链接

A - Bad Horse
题意
有一些人,并且告诉一些二元关系,表示哪对人是不能属于一个组的,问可不可以将所有人分为两组。
题解
也就是给了一个图判断其可不可以表示为二分图了,根据二分图的性质知道存在奇圈的图就无法表示成,所以根据题意的二元关系作图后,找图中是否存在奇圈即可。

Code:

#include <iostream>
#include <cstdio>
#include <cmath>
#include <algorithm>
#include <cstring>
#include <queue>
#include <stack>
#include <map>
#define MAXN 305 //---
using namespace std;
struct edge{int u,v,next;
}edge[MAXN];
map<string,int> H;
int En,_next[MAXN],dis[MAXN];
void addedge(int u,int v){edge[++En].next=_next[u],_next[u]=En;edge[En].u=u,edge[En].v=v;
}
bool dfs(int u,int l){if (dis[u]!=-1){if (dis[u]%2 == l%2) return true;return false;}dis[u]=l; for (int k=_next[u];k;k=edge[k].next){int v=edge[k].v;if (!dfs(v,l+1)) return false;}return true;
}
bool judge(int n){memset(dis,-1,sizeof(dis));for (int i=1;i<=n;i++)if (dis[i]==-1){  if (!dfs(i,0)) return false;}return true;
}
int main(){freopen("A-small-2-attempt0.in.txt","r",stdin);freopen("output.txt","w",stdout); int T;cin>>T; for (int cases=1;cases<=T;cases++){ int m,n=0;memset(_next,0,sizeof(_next)),En=0;cin>>m;H.clear();for (int i=1;i<=m;i++){string s1,s2;int u,v;cin>>s1>>s2;if (H.find(s1)==H.end()) H[s1]=++n;if (H.find(s2)==H.end()) H[s2]=++n;u=H[s1],v=H[s2]; addedge(u,v),addedge(v,u);}printf("Case #%d: ",cases);if (judge(n)) puts("Yes");else puts("No");}return 0;
}

B - Captain Hammer
题意
类似打企鹅,愤怒的小鸟之类的游戏,从(0,0)点以初始速度V抛出物体,已知重力加速度为9.8m/s^2,已知物体落地后停止移动,并且在X轴上前进了D米,问初始抛出时角度是多少。
题解
中学物理题,恶心的是直接用cmath的asin居然会WA…于是手写了个二分来求arcsin。

Code:

#include <iostream>
#include <cstdio>
#include <cmath>
#include <algorithm>
#include <cstring>
#include <queue>
#include <stack>
using namespace std;
const double PI=acos(-1.0);
const double eps=1e-10;
double aSin(double x){double l=0,r=PI/2;while (r-l>eps){double mid=(l+r)/2;if (sin(mid)<=x) l=mid;else r=mid; }return l;
}
int main(){freopen("B-small-attempt1.in.txt","r",stdin);freopen("output.txt","w",stdout); int T;scanf("%d",&T);for (int cases=1;cases<=T;cases++){int V,D;scanf("%d%d",&V,&D);double ans=9.8*D/(V*V); ans=aSin(ans);  printf("Case #%d: %.8f\n",cases,ans*90/PI);}return 0;
}

C - Moist
题意
有一堆写了人名的卡片放在一个栈中,希望让这个栈中所有卡片按照人名的ASCII码从栈顶到栈底排好序。而现在有一个机器人,它做的操作是每次从栈顶往栈底扫描,一旦发现有一个人名的ASCII码比之前扫过的要小,就话费1刀的代价将其放在栈顶到它这一段目前正确的位置,然后机器人再从栈顶往栈底扫描,直到这个栈排好序,问总共要话费多少刀。
题解
模拟

Code

#include <iostream>
#include <cstdio>
#include <cmath>
#include <algorithm>
#include <cstring>
#include <queue>
#include <stack>
#include <map>
using namespace std;
const int MAXN=105;
string s[MAXN];
char str[105];
int main(){freopen("C-small-2-attempt0.in.txt","r",stdin);freopen("output.txt","w",stdout); int T;scanf("%d",&T);for (int cases=1;cases<=T;cases++){int n;scanf("%d\n",&n); for (int i=1;i<=n;i++) gets(str),s[i]=str;int ans=0;for (int t=2;t<=n;t++){int i;for (i=t;i<=n;i++)if (s[i]<s[i-1]){ans++;break;}for (;i>=2;i--)if (s[i]<s[i-1]) swap(s[i],s[i-1]);}printf("Case #%d: %d\n",cases,ans);}return 0;
}

Google APAC 2016 University Graduates Test Practice Round APAC test相关推荐

  1. 回顾Google IO 2016 -Keynote【图解】

    Google IO大会倒计时进行中~~ 两名演奏者在使用高空"古筝". 最后5秒倒计时~~~~全场轰动~ 倒计时结束,IO大会正式开始. 屏幕中,一个人把纯白的唱片放入唱片机中. ...

  2. 【在线笔试题解题报告系列】Google APAC 2017 University Test Round E

    最后一轮的 2017 Google APAC Test 了呢. scoreboard中搜索hdu.toraoh,可以看我的当时实际提交情况. 照惯例,题意就不翻译了.(毕竟Google有英文面试的) ...

  3. 【在线笔试题解题报告系列】Google APAC 2017 University Test Round B

    这场和上场相比,不是代码傻乎乎堆就能多拿分了.想清楚再动手最最最重要. scoreboard中搜索hdu.toraoh,可以看我的当时实际提交情况. 照惯例,题意就不翻译了,这种英文阅读应该是能搞掂的 ...

  4. Introducing Android Instant Apps - Google I-O 2016 翻译字幕

    上周几乎没怎么学习,一直在忙字幕组的考核,干脆就把我翻译的字幕贴出来吧--这可真是最新的Android技术了. YouTube视频链接:https://www.youtube.com/watch?v= ...

  5. 令人振奋的好消息!2016年12月8日Google Developers中文网站发布!

    令人振奋的好消息! 2016年12月8日Google Developers中文网站发布! 以往我们需要访问Android的开发网站.Google的开发网站都需要翻墙,苦不堪言.现在Google发布了中 ...

  6. 2016 Google I/O新知介绍之 Daydream VR platform

    作者 Steven.Zhu 1     背景 1.1  VR元年 2016年被称为「VR元年」,业界对虚拟现实的关注持续升温,Oculus Rift引领了整个行业的风向已成为不争的事实,索尼PSVR. ...

  7. 从Google Maglev说起,如何造一个牛逼的负载均衡?

    Maglev是谷歌为自己的数据中心研发的解决方案,并于2008开始用于生产环境.在第十三届网络系统设计与实现USENIX研讨会(NSDI '16)上, 来自谷歌.加州大学洛杉矶分校.SpaceX公司的 ...

  8. 从Google Maglev到UCloud Vortex,如何造一个牛逼的负载均衡?

    Maglev是谷歌为自己的数据中心研发的解决方案,并于2008开始用于生产环境.在第十三届网络系统设计与实现USENIX研讨会(NSDI '16)上, 来自谷歌.加州大学洛杉矶分校.SpaceX公司的 ...

  9. 湾区求职分享:三个月刷题拿到 Google offer,欢迎踊跃提问

    本文仅以个人经历和个人观点作为参考.如能受益,不胜荣幸. 本文会不断的修正,更新.希望通过大家的互动最后能写出一份阅者受益的文章. 本文纯手打,会有错别字,欢迎指出,虚心接受及时更改. 小马过河,大牛 ...

最新文章

  1. [register]-ARMV8-aarch64 部分系统寄存器总结(必背)
  2. java定义final_Java中何时将方法声明为final的
  3. dubbo源码解析-zookeeper创建节点
  4. sklearn 线性回归_使用sklearn库做线性回归拟合
  5. 在Linux系统上部署java web项目
  6. 字符串加密解密函数 (C#) (转)
  7. android studio for android learning (十七) Toast使用详解
  8. CSDN下载码如何使用?
  9. pgadmin3连接mysql_启动PostgreSQL服务器 并用pgAdmin连接操作
  10. c语言程序如何编写选择题,c语言程序 如何编写挑选题
  11. 社会工程学攻击的三个典例
  12. 2021年,中国程序员前景一片灰暗,真的是这样吗?
  13. 视频转MP3音频格式在线工具
  14. 复化梯形公式和复化Simpson公式的python实现
  15. 射频芯片ATE测试从入门到放弃之收发机
  16. 必过四级技巧方法总结大全
  17. python 批量下载种子_批量下载btbbt种子
  18. vlan互通三种方式之二第二篇
  19. C++相关问题笔记(一)
  20. ubuntu 双显示屏设置 一个正常 一个不行的问题

热门文章

  1. 服务器装系统引导进去系统usb失灵,重装win7后usb全部失灵原因分析以及解决方法(完美解决)...
  2. 第四十六讲 设备驱动kobject
  3. spiderkeeper 管理scrapy爬虫(定时执行)
  4. 三星root后进入android system recovery后,三星手机在用刷机大师刷机之后,Android system recoverylt;3egt;,找......
  5. 时尚简约风格的ae字幕条模板
  6. AE TypeMonkey
  7. 万用表怎么测量电池容量_万用表怎么检测电池容量_电池电量 - 全文
  8. UI设计色彩趋势总结
  9. 【牛客刷题】上手用C语言写一个三子棋小游戏超详解哦(电脑优化)
  10. Centos搭建服务