A. Santa Claus and a Place in a Class

模拟题。(0:12)

题意:n列桌子,每列m张桌子,每张桌子一分为2,具体格式看题面描述。给出n,m及k。求编号为k的桌子在第几行第几列是左还是右。

思路:由图知k为奇数在左边。每列有2*m个数,k/(2*m)然后就可以知道在第几列。然后数据小遍历找到第几行。

int main()
{
int n,m,k;
while(~scanf("%d%d%d",&n,&m,&k))
{
char c;
if(k%2) c='L';
else c='R';
int x=0,y=0;
y=k/(2*m);
if(k%(2*m)) y++;
k-=(y-1)*2*m;
while(k>0)
{
k-=2;
x++;
}
printf("%d %d %c\n",y,x,c);
}
return 0;
}

B. Santa Claus and Keyboard Check

贪心模拟题。(0:39)

题意:真没读懂,大概知道了样例怎么来的。给出两个串,每个字符可以唯一对应(变成)另外一个字符,问如果第一个字符串可以变为另外一个串,输出对应要变的字符。

思路:就是一顿乱判,用map存对应关系,可能是样例比较水吧,侥幸过了终判。

struct node
{
char x,y;
}a1[N];
int main()
{
string a,b;
cin>>a>>b;
if(a==b)
{
printf("0\n");
}
else
{
int f=0,len=0;
int len1=a.size();
int len2=b.size();
if(len1!=len2) f=1;
map<char,char>q;
int v[50];
memset(v,0,sizeof(v));
memset(a1,'0',sizeof(a1));
for(int i=0;i<len1&&i<len2;i++)
{
if(a[i]==b[i])
{
if(v[a[i]-'a']||v[b[i]-'a']) //已经有主了;
{
if(v[a[i]-'a']&&q[a[i]]!=b[i]) f=1;
if(v[b[i]-'a']&&q[b[i]]!=a[i]) f=1;
}
else q[a[i]]=b[i];
}
else
{
if(v[a[i]-'a']||v[b[i]-'a'])
{
if(v[a[i]-'a']&&q[a[i]]!=b[i]) f=1;
else if(v[b[i]-'a']&&q[b[i]]!=a[i]) f=1;
}
else
{
q[a[i]]=b[i];
q[b[i]]=a[i];
a1[len].x=a[i];
a1[len++].y=b[i];
}
}
v[a[i]-'a']=1;
v[b[i]-'a']=1;
}
if(f) printf("-1\n");
else
{
printf("%d\n",len);
for(int i=0;i<len;i++)
printf("%c %c\n",a1[i].x,a1[i].y);
}
}
return 0;
}

C. Santa Claus and Robot

侥幸过了终判,中间WA了一发。(1:41)

题意:有一个串,只包含‘U’、‘L’、'R'、‘D’四种字符,分别表示往哪个方向走。小明要走一个序列,起点为p0,每次从pi走到pi+1(1<=i<n)。小明只会沿着格子走最短路。但路线可能有很多种。求n的最小值。

思路:由最后一个图发现每次经过一个点都走了相反的路线。一去一回这这便经过了一个点。所以求有多少相反对即可。(U和D、L和R分别为一个相反对)

int main()
{
int n;
int v[50];
memset(v,0,sizeof(v));
string a;
cin>>n>>a;
int ans=0;
char c=a[0];//当前状态,表示走的方向
for(int i=0;i<n;i++)
{
if((c=='L'&&a[i]=='R')||(c=='R'&&a[i]=='L')||(c=='U'&&a[i]=='D')||(c=='D'&&a[i]=='U'))//遇到相反对
{
c=a[i];//更新当前状态
ans++;
memset(v,0,sizeof(v));
v[a[i]-'A']=1;
continue;
}
if(c=='L'||c=='R')
{
if((a[i]=='U'&&v['D'-'A'])||(a[i]=='D'&&v['U'-'A']))
{
c=a[i];
ans++;
memset(v,0,sizeof(v));
}
v[a[i]-'A']=1;
}
else
{
if((a[i]=='L'&&v['R'-'A'])||(a[i]=='R'&&v['L'-'A']))
{
c=a[i];
ans++;
memset(v,0,sizeof(v));
}
v[a[i]-'A']=1;
}
}
ans++;//终点
printf("%d\n",ans);
return 0;
}

C题刚想到这个思路的时候学姐给了一个想法:每两个点之间只有两种方向。。。但按着这种思路WA在第六组了。。。

Codeforces Round #389 (Div. 2, Rated, Based on Technocup 2017 - Elimination Round 3) 圣诞之夜!的更多相关文章

  1. Codeforces Round #389 (Div. 2, Rated, Based on Technocup 2017 - Elimination Round 3) C

    Description Santa Claus has Robot which lives on the infinite grid and can move along its lines. He ...

  2. Codeforces Round #389 (Div. 2, Rated, Based on Technocup 2017 - Elimination Round 3) B

    Description Santa Claus decided to disassemble his keyboard to clean it. After he returned all the k ...

  3. Codeforces Round #389 (Div. 2, Rated, Based on Technocup 2017 - Elimination Round 3) A

    Description Santa Claus is the first who came to the Christmas Olympiad, and he is going to be the f ...

  4. Codeforces Round #389 (Div. 2, Rated, Based on Technocup 2017 - Elimination Round 3) D. Santa Claus and a Palindrome STL

    D. Santa Claus and a Palindrome time limit per test 2 seconds memory limit per test 256 megabytes in ...

  5. Codeforces Round #389 (Div. 2, Rated, Based on Technocup 2017 - Elimination Round 3) E. Santa Claus and Tangerines

    E. Santa Claus and Tangerines time limit per test 2 seconds memory limit per test 256 megabytes inpu ...

  6. Codeforces Round #380 (Div. 1, Rated, Based on Technocup 2017 - Elimination Round 2)

    http://codeforces.com/contest/737 A: 题目大意: 有n辆车,每辆车有一个价钱ci和油箱容量vi.在x轴上,起点为0,终点为s,中途有k个加油站,坐标分别是pi,到每 ...

  7. codeforces Codeforces Round #380 (Div. 1, Rated, Based on Technocup 2017 - Elimination Round 2)// 二分的题目硬生生想出来ON的算法

    A. Road to Cinema 很明显满足二分性质的题目. 题意:某人在起点处,到终点的距离为s. 汽车租赁公司提供n中车型,每种车型有属性ci(租车费用),vi(油箱容量). 车子有两种前进方式 ...

  8. Codeforces Round #380 (Div. 2, Rated, Based on Technocup 2017 - Elimination Round 2) E. Subordinates 贪心

    E. Subordinates time limit per test 1 second memory limit per test 256 megabytes input standard inpu ...

  9. Codeforces Round #380 (Div. 2, Rated, Based on Technocup 2017 - Elimination Round 2) D. Sea Battle 模拟

    D. Sea Battle time limit per test 1 second memory limit per test 256 megabytes input standard input ...

随机推荐

  1. 523 Continuous Subarray Sum 非负数组中找到和为K的倍数的连续子数组

    非负数组中找到和为K的倍数的连续子数组 详见:https://leetcode.com/problems/continuous-subarray-sum/description/ Java实现: 方法 ...

  2. RHEL 6.5----CDN(lumanger)

    主机名  IP   服务 master 192.168.30.130  CDN(LuManager) slave 192.168.30.131  DNS  软件安装包下载地址及安装方法 http:// ...

  3. angularjs之ng-mode获取lobject类型里的键值

    有时候数据库定义的时候,用一个对象来代表某个属性,之后直接访问对象就可以获取全部该对象的属性,但是有时需求访问对象中包含中的键值,引用键值的时候可以直接用.来获取对象的键值,比如 对象points: ...

  4. iOS面试题之runloop

    本文围绕以下几个部分展开对runloop的叙述. 1.runloop是什么/runloop的概念? 2.NSRunLoop 和 CFRunLoopRef? 3.runloop和线程的关系? 4.run ...

  5. 基于udp协议的套接字及udp协议粘包问题

    udp协议的套接字 udp协议传输  服务端和客户端没有建立连接一说. import socket # 总结一下基础工作流程:服务端生成套接字并绑定ip_port,进入数据传输循环,服务端接受客户端发 ...

  6. CF985D Sand Fortress

    思路: 很奇怪的结论题,不好想.参考了http://codeforces.com/blog/entry/59623 实现: #include <bits/stdc++.h> using n ...

  7. pandas DataFrame 警告(SettingWithCopyWarning)

    转自:https://www.cnblogs.com/pig-fly/p/7875472.html 刚接触python不久,编程也是三脚猫,所以对常用的这几个工具还没有一个好的使用习惯,毕竟程序语言是 ...

  8. dede网站目录权限设置

    如果你的网站数据十分重要(那种两天就能弄好的垃圾站就算了),建议按本文所说的安全步骤进行严格的设置.1.目录权限 我们不建议用户把栏目目录设置在根目录, 原因是这样进行安全设置会十分的麻烦, 在默认的 ...

  9. Vue 在beaforeCreate时获取data中的数据

    众所周知,vue在beforecreate时期是获取不到data中的 数据的 但是通过一些方法可以实现在beforecreate时获取到data中的数据 暂时想到两种放发可以实现,vue在before ...

  10. k8s 核心功能[转]

    部署应用 执行命令: kubectl run kubernetes-bootcamp \ --image=docker.io/jocatalin/kubernetes-bootcamp:v1 \ -- ...