程序员没有女朋友?Are you kidding me?

程序员常常被误解为情商低,不修边幅,沟通能力差,说话方式奇特。但实际上,这些特点可能源于工作压力和环境。他们专注于技术,逻辑严谨,而在轻松时刻也能展现幽默。他们的经济实力和独特个性,或许值得更多理解与欣赏。

谈到程序员你会想到什么?脱发、奇葩、没女友。但也有可能……没有男友……

 

前段时间,微博上有个女程序员火了,原因是表白男同事,发了200多条信息。这引起众网友隔屏吃瓜,也有个别网友不满:

 

 

众网友:想多啦!啥职业人家都会交代一下哒~~不过话又说回来了:

 

 

在大多数人眼里,程序员就是很古怪。但怪在哪里呢?

 

 

01

程序员情商低

 

大家对程序员的刻板印象就是智商高,情商低,认为大部分程序员擅长:不看别人脸色、不猜别人心情以及非委婉的表达方式。

 

 

其实到处都有情商低的人,并不是程序员情商就低...

 

程序员主要靠技术吃饭,与机器语言打交道比较多,靠技术吃饭,少了些阿谀奉承。

 

工作代码文本,少了人际沟通,尤其男女交往。

 

 

 

近朱者赤,近电脑者,记忆力、运算速度向电脑看齐的同时,情商值也和电脑无限接近......

 

#include <stdio.h> #include <string.h> #define MAXNUM 30 typedef struct { char data[MAXNUM]; int top; } Stack; void initStack(Stack *s) { s->top = -1; } int isEmpty(Stack *s) { return s->top == -1; } int push(Stack *s, char x) { if (s->top >= MAXNUM - 1) return 0; s->data[++(s->top)] = x; return 1; } int pop(Stack *s, char *x) { if (isEmpty(s)) return 0; *x = s->data[(s->top)--]; return 1; } int getTop(Stack *s, char *x) { if (isEmpty(s)) return 0; *x = s->data[s->top]; return 1; } int isLegal(char *start, char *target) { int len1 = strlen(start), len2 = strlen(target); if (len1 != len2) return 0; int count[256] = {0}; for (int i = 0; i < len1; i++) { count[(unsigned char)start[i]]++; count[(unsigned char)target[i]]--; } for (int i = 0; i < 256; i++) { if (count[i] != 0) return 0; } return 1; } void solve(char *start, char *target) { if (!isLegal(start, target)) { printf("Are you kidding me?\n"); return; } Stack s; initStack(&s); int i = 0, j = 0; int len = strlen(start); char current, topChar; while (j < len) { current = target[j]; if (i < len && start[i] == current) { printf("1->2\n"); i++; j++; } else if (getTop(&s, &topChar) && topChar == current) { printf("3->2\n"); pop(&s, &topChar); j++; } else if (i < len) { if (!push(&s, start[i])) { printf("Are you kidding me?\n"); return; } printf("1->3\n"); i++; } else { printf("Are you kidding me?\n"); return; } } } int main() { char start[MAXNUM], target[MAXNUM]; scanf("%s", start); scanf("%s", target); solve(start, target); return 0; } 根据图片结果修改一下代码
11-01
1 ====== <--移动方向 / 3 ===== \ 2 ====== -->移动方向 大家或许在某些数据结构教材上见到过“列车厢调度问题”(当然没见过也不要紧)。今天,我们就来实际操作一下列车厢的调度。对照上方的ASCII字符图,问题描述如下: 有三条平行的列车轨道(1、2、3)以及1-3和2-3两段连接轨道。现有一列车厢停在1号轨道上,请利用两条连接轨道以及3号轨道,将车厢按照要求的顺序转移到2号轨道。规则是: 每次转移1节车厢; 处在1号轨道的车厢要么经过1-3连接道进入3号轨道(该操作记为"1->3"),要么经过两条连接轨道直接进入2号轨道(该操作记为"1->2"); 一旦车厢进入2号轨道,就不可以再移出该轨道; 处在3号轨道的车厢,只能经过2-3连接道进入2号轨道(该操作记为"3->2"); 显然,任何车厢不能穿过、跨越或绕过其它车厢进行移动。 对于给定的1号停车顺序,如果经过调度能够实现2号轨道要求的顺序,则给出操作序列;如果不能,就反问用户 Are(你) you(是) kidding(凯丁) me(么)? 输入格式: 两行由大写字母组成的非空字符串,第一行表示停在1号轨道上的车厢从左到右的顺序,第二行表示要求车厢停到2号轨道的进道顺序(输入样例1中第二行CBA表示车厢在2号轨道的停放从左到右是ABC,因为C最先进入,所以在最右边)。两行字符串长度相同且不超过26(因为只有26个大写字母),每个字母表示一节车厢。题目保证同一行内的字母不重复且两行的字母集相同。 输出格式: 如果能够成功调度,给出最短的操作序列,每个操作占一行。所谓“最短”,即如果1->2可以完成的调度,就不要通过1->3和3->2来实现。如果不能调度,输出 "Are you kidding me?" 输入样例1: ABC CBA 输出样例1: 1->3 1->3 1->2 3->2 3->2 输入样例2: ABC CAB 输出样例2: Are you kidding me?
最新发布
12-03
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值