日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

E-托米的饮料

發布時間:2024/4/18 编程问答 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 E-托米的饮料 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目鏈接
可愛的小托米得到了n瓶飲料.
但他不小心把開蓋的工具弄丟了,所以他只能利用飲料瓶來開蓋.
已知第i個瓶子的品牌為ai,且其能打開bi品牌的瓶子.
問有幾瓶飲料托米無法喝到.
被用于打開飲料瓶的瓶子不一定需要被打開.
一個瓶子不能打開其本身.

輸入描述:

第一行一個整數n,表示飲料的瓶數.
接下來n行,每行兩個整數ai,bi.

輸出描述:

輸出一行一個整數,表示小托米無法喝到的飲料瓶數.

示例1
輸入

4
1 1
2 2
3 3
4 4

輸出

4

示例2
輸入

4
1 2
2 3
3 4
4 1

輸出

0

備注:

1≤n≤100
1≤ ai,bi≤ 1000

思路

瓶子不能打開自己,就兩個for循環遍歷不同瓶子,看能否喝掉。
寫的時候一直WA,我是先把不同的瓶子統計一下個數,然后一個for遍歷1 - n如果這瓶飲料存在,而且可以消除,就記錄一下??戳藙e人ac代碼都是用for循環一個一個判斷。又讀了一遍題,我把重點放在了牌子飲料打開對應的牌子飲料,但是題目的意思是瓶子不能打開自己。這就產生了分歧。
對于這個樣例:

4 1 1 1 1 1 1 1 1

我的結果是4,ac代碼是0。

總結

剛結束的省賽,會做的題都是暴力加暴力,但是今天寫題上來就沒考慮暴力,以后一定要記得先考慮暴力

AC

#include<iostream> #define N 100005 using namespace std; int a[N], b[N]; int main() {int n;cin >> n;for (int i = 0; i < n; i++) {cin >> a[i] >> b[i]; }int ans = 0;for (int i = 0; i < n; i++) {for (int j = 0; j < n; j++) {// 枚舉不同的瓶子 if (i == j) continue;// 只要可以喝掉就記錄,然后枚舉下一個。 if (a[i] == b[j]) {ans++;break;}}}cout << n - ans << endl; return 0; }

Error_code

#include<bits/stdc++.h> #define N 10005 using namespace std; int a[N], b[N]; int main () { // freopen("in.txt", "r", stdin);int n;while (cin >> n) {memset(a, 0, sizeof(a));memset(b, 0, sizeof(b));for (int i = 1; i <= n; i++) {int l, r;cin >> l >> r;a[l]++;if (l != r) b[r] = 1;} int ans = 0;for (int i = 1; i < N; i++) if (b[i] && a[i]) ans += a[i];cout << n - ans << endl;}return 0; }

總結

以上是生活随笔為你收集整理的E-托米的饮料的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。