大学里的鸡毛蒜皮——吃和喝的故事

回忆大学时光,专科时期与室友畅饮各种酒类直至深夜,本科时期与同学自制烧烤大餐,这些简单却珍贵的记忆成为青春中最美好的片段。

大学里,男生印象最深的事情中,恐怕很多都会和吃喝有很大关系。很怀念专科临毕业之前,几个哥们一人拿一杯酒,一边聊一边喝,一直喝到睡着。那时候没什么钱,下酒的多半都是花生米,或者小咸菜,酒多半是便宜的高粱酒或散白酒,但那份感觉却是最让我怀念的。

喝酒印象最深的一次是在专科的时候,因为非典被停课回家,再次回到学校的时候已经是两个月以后了。回去的第一天,寝室的哥们都高兴,大家自然免不了喝酒。

那天是在学校的食堂里,我们几个找了一个包间。具体的细节忘了,只记得那天大伙都很高兴,当真是喝完啤酒喝白酒,喝完白酒喝红酒,红酒喝完来可乐,可乐之后又是啤酒。一通乱喝之下,那天没离开食堂我就喝多了。出来的时候,头脑还满清醒,就是走路有点晃,但总体还能控制。那个时候我还很少喝多,一来年轻,二来我一个人从来不碰酒,只有高兴的时候跟朋友才喝。所以喝多的感觉也满新鲜的。不像小说里写的,喝多了就什么都不知道了,而是感觉自己比任何时候都清醒,就是身体有点不听使唤。

我们那个时候,寝室在晚上是封寝的,为了让学生多参加晚自习。不过效果就是网吧的生意更火爆了。其实教育要以引导为主,强制的话,效果也就只能这样了。那天喝完酒,寝室还没开门,就去自习室坐了一会,没多一会就撑不住了。最后是被寝室的哥们抬回去的 *^o^*

吃的话,印象最深,也最过瘾的是本科的时候的事了。

本科我读的两年制专升本。第一年暑假的时候,大约有 30 多人一起留在学校,借学校的机房,一起练习,做点模拟的项目。

开发的最后一天,几个男生商量想一起吃顿饭。商量来商量去,想弄一顿特别点的,就决定自己烤肉,地点在寝室的阳台。

肉准备了一大堆,牛肉,羊肉,鸡脖,苞米……几个男生忙的不亦乐乎。幸好是暑假,寝室已经没有人了,我们几个把啤酒放在水房,每个水龙头下放三四瓶,用自来水冲凉。

忙活半天之后,终于点着了火。我们用的是那种很常见的小烤炉,街边烤羊肉串的那种,很多超市就有卖。

刚开始的时候,大伙一通乱抢,烤的速度完全跟不上吃的速度。虽然没饭店那么齐全的设备,不过吃起来真的很香。我们从中午一直吃到晚上。阳台没有灯,一直吃到看不见了,才意犹未尽的收摊了。

后来一直想再来一次,但时间一转眼就过去了。第二年的寒假我就到东软工作了。一直到后来也没有机会重温。

 

#include<bits/stdc++.h> #define ll long long using namespace std; static const int N = 2e5+5; static inline ll rd() { ll x = 0; char d = getchar_unlocked(); while (d < '0' || d > '9')d = getchar_unlocked(); while (d >= '0' && d <= '9') { x = (x << 3) + (x << 1) + (d ^ 48); d = getchar_unlocked(); } return x; } static inline void wr(ll x) { static ll len; static char ch[20]; if (x == 0) { putchar_unlocked('0'); putchar_unlocked(' '); return; } while (x) { ch[len++] = x % 10 ^ 48; x /= 10; } while (len)putchar_unlocked(ch[--len]); putchar_unlocked(' '); } //------------------------------------------------ struct node { ll x, y, id; node() {}; node(ll a, ll b): x(a), y(b) {}; } e; static vector<node> v1, v2, v3, v4; static inline bool p1(const node &a, const node &b) { if (a.x + a.y != b.x + b.y) return a.x + a.y < b.x + b.y; if (a.x != b.x) return a.x < b.x; return a.y < b.y; } static inline bool p2(const node &a, const node &b) { if (a.x - a.y != b.x - b.y) return a.x - a.y < b.x - b.y; if (a.x != b.x) return a.x < b.x; return a.y < b.y; } static inline bool p3(const node &a, const node &b) { if (-a.x + a.y != -b.x + b.y) return -a.x + a.y < -b.x + b.y; if (a.x != b.x) return a.x < b.x; return a.y < b.y; } static inline bool p4(const node &a, const node &b) { if (-(a.x + a.y) != -(b.x + b.y)) return -(a.x + a.y) < -(b.x + b.y); if (a.x != b.x) return a.x < b.x; return a.y < b.y; } struct edge { ll u, v, w; edge() {}; edge(ll a, ll b, ll c): u(a), v(b), w(c) {}; bool operator <(const edge& oth)const { return w < oth.w; } }; static inline ll get(const node &a, const node &b) { return abs(a.x - b.x) + abs(a.y - b.y); } vector<edge> v; vector<pair<int, int>> ans; static int Set[N]; static inline int f(int x) { return Set[x] == x ? x : Set[x] = f(Set[x]); } int main() { ios::sync_with_stdio(0); cin.tie(0), cout.tie(0); static ll n, sum = 0; n = rd(); v1.reserve(n); v2.reserve(n); v3.reserve(n); v4.reserve(n); v.reserve(4 * n); for (int i = 1; i <= n; i++) { e.x = rd(), e.y = rd(), e.id = i; v1.emplace_back(e); v2.emplace_back(e); v3.emplace_back(e); v4.emplace_back(e); Set[i] = i; } //四向排序 sort(v1.begin(), v1.end(), p1); sort(v2.begin(), v2.end(), p2); sort(v3.begin(), v3.end(), p3); sort(v4.begin(), v4.end(), p4); //生成边 for (int i = 1; i < n; i++) { v.emplace_back(v1[i - 1].id, v1[i].id, get(v1[i - 1], v1[i])); v.emplace_back(v2[i - 1].id, v2[i].id, get(v2[i - 1], v2[i])); v.emplace_back(v3[i - 1].id, v3[i].id, get(v3[i - 1], v3[i])); v.emplace_back(v4[i - 1].id, v4[i].id, get(v4[i - 1], v4[i])); } sort(v.begin(), v.end()); //kruskal int Sz = v.size(), rx = 0, ry = 0, cnt = 0; for (int i = 0; i < Sz; i++) { rx = f(v[i].u), ry = f(v[i].v); if(rx != ry) { sum += v[i].w; Set[rx] = ry; cnt++; ans.emplace_back(v[i].u, v[i].v); if(cnt == n - 1)break; } } wr(sum); for(int i = 0; i<cnt; i++) { putchar_unlocked('\n'); wr(ans[i].first), wr(ans[i].second); } return 0; }还有那些问题?鸡毛蒜皮就不用了
08-11
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值