九度OJ1486 /POJ 1029/2012北京大學研究生復試上機

wa到死!wa到死!這是一個看著簡單,坑及其多的題!

坑一:POJ上是單組輸入,九度上是多組輸入,媽蛋要是研究生復試遇到這種大坑肯定死掉啊!而且對于codeforces比較習慣的

   同學肯定會覺得巨坑無比。

坑二:九度OJ上絕對有多余的空字符,什么getchar()都不要用,用cin輸入跳過空格吧!POJ上是沒問題的!

坑三:有很多特殊情況,如果算法不好的話,wa的概率是很大的,比如真的false coin沒有出現在不等式中

先說一些共識:

(1)如果出現的是“=”式子,那么兩邊肯定都是合格的coin,而且false coin肯定不在這個等式里面;

(2)如果出現了不等式,即“<"或者”>"式子,那么可以肯定,在這些式子中肯定都存在一個false coin

(3)如果,一個硬幣是false coin,在每個它出現的式子里,都是不等式,而且,要么它總在輕的一方,

   ?要么它總在重的一方但是這個題其坑無比的是,不能從這個角度想,因為給的數據可能根本沒有邏

   ?輯,就是說,可能會有自相矛盾的數據,在這種情況下,他的逆命題有可能是真的,首先我們把出

   ?現在等式里的數字排除掉即如果每個不等式里某個數字都出現了,即出現次數等于不等式的個數并

   ?且它總是在重的一方,或者總是在輕的一方,那我們說,這個數字極有可能是false coin,但是還

   ?要統計一下,這樣的數字是不是只有一個,如果有兩個,或者沒有,都沒辦法判斷!

我的思路:對于能通過等式判斷出相等的元素,用h【i】=1標記上,意味著false coin絕對不可能是這里面的數字,

對于不等式A[i] < B[i],設置一個light[i]數組,和一個heavy[i]數組,如果一個數出現在了輕的一邊,就讓light[i]++;

如果出現在了重的一邊,就讓heavy[i]++;對于一個false coin,要么他的heavy值等于不等式的個數cas,要么他的light值

等于cas,然后注意不要讓ans重復就可以了。

#include <bits/stdc++.h>
using namespace std;
#define INF 0x3f3f3f3f
const int maxn = 1000+5;
int n,k,p;
int L[maxn],R[maxn];
int light[maxn],heavy[maxn];
int h[maxn];
char opt;
int cas;int main()
{while(cin >> n >> k){memset(light,0,sizeof(light));memset(heavy,0,sizeof(heavy));memset(h,0,sizeof(h));cas = 0;for(int t = 1;t <= k; ++t){cin >> p;for(int i = 1; i <= p; ++i)cin >> L[i];for(int i = 1; i <= p; ++i)cin >> R[i];cin >> opt;if(opt == '='){for(int i = 1; i <= p; ++i)h[L[i]] = h[R[i]] = 1;}else if(opt == '<'){cas++;for(int i = 1; i <= p; ++i){light[L[i]]++;heavy[R[i]]++;}}else{cas++;for(int i = 1; i <= p; ++i){heavy[L[i]]++;light[R[i]]++;}}}int cnt = 0,ans;for(int i = 1; i <= n; ++i){if(h[i]==0&&(light[i]==cas||heavy[i]==cas)){ans = i;cnt++;}}if(cnt!=1) printf("0\n");else printf("%d\n", ans);}
}

一些幫助大家debug的數據:

input:
3 2
1 1 2
<
1 2 3
<3 2
1 1 2
>
1 1 3
>5 1
2 1 2 3 4
=4 3
2 1 2 3 4
<
2 1 3 2 4
<
1 2 4
=5 3
2 1 3 2 4
>
2 3 5 2 4
>
1 1 4
>5 3
2 1 3 2 4
>
2 3 5 2 4
>
1 1 4
=output:0
1
5
1
4
0

轉載于:https://www.cnblogs.com/Norlan/p/5422423.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/374794.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/374794.shtml
英文地址,請注明出處:http://en.pswp.cn/news/374794.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

P1046 [NOIP2005 普及組] 陶陶摘蘋果

題目描述 陶陶家的院子里有一棵蘋果樹&#xff0c;每到秋天樹上就會結出 1010 個蘋果。蘋果成熟的時候&#xff0c;陶陶就會跑去摘蘋果。陶陶有個 3030 厘米高的板凳&#xff0c;當她不能直接用手摘到蘋果的時候&#xff0c;就會踩到板凳上再試試。 現在已知 1010 個蘋果到地面…

新手不了解Xcode和mac系統可能犯得錯誤和我的建議

我是學iOS剛入門的新手&#xff0c;本人裝的時黑蘋果&#xff0c;我是喜歡完美的人&#xff0c;但黑蘋果又是不完美的系統&#xff0c;比如關不了機啊&#xff0c;和顯卡驅動不了啊&#xff0c;當自己的電腦出現白屏和卡頓的時候氣的沒脾氣。我是一個新手。開始學的時java但我喜…

改善Java應用程序性能的快速技巧

曾經遇到過性能問題嗎&#xff1f; 我也是。 如果我的經理再喊一次“ faaaaster”&#xff0c;我一生都會有聽力障礙。 順便說一句&#xff0c;我能聽到所有聲音中的德語發音嗎&#xff1f; ;-) 您可以相信仍然有人無知地在談論垃圾收集器&#xff08;得到它嗎&#xff1f;&…

P1047 [NOIP2005 普及組] 校門外的樹

某校大門外長度為 ll 的馬路上有一排樹&#xff0c;每兩棵相鄰的樹之間的間隔都是 11 米。我們可以把馬路看成一個數軸&#xff0c;馬路的一端在數軸 00 的位置&#xff0c;另一端在 ll 的位置&#xff1b;數軸上的每個整數點&#xff0c;即 0,1,2,\dots,l0,1,2,…,l&#xff0…

團隊開發——個人工作總結04

昨天對要用到的SQL語句進行了研究&#xff0c;分別得到了以下結果&#xff1a; 1.這段語句是為用戶登錄服務的&#xff0c;通過JSP的到的用戶名username和密碼passdword作為條件查詢數據庫&#xff0c;如果有查詢結果&#xff0c;則返回true select * from [login] where usern…

Nginx的幾種常見的幾種啟動方式

1.默認方式啟動 直接執行Nginx的二進制文件即可 /usr/local/nginx/sbin/nginx 這時默認讀取配置文件&#xff0c;配置文件目錄 /usr/local/nginx/conf/nginx.conf 2.指定配置文件的啟動方式 /usr/local/nginx/sbin/nginx -c /tmp/nginx.conf轉載于:https://www.cnblogs.com/Leo…

yii2閱讀隨筆14

繼續來看Event.php /*** Triggers a class-level event.* 觸發類級別事件。* This method will cause invocation of event handlers that are attached to the named event* for the specified class and all its parent classes.* 觸發某個類或者對象的某個事件* param strin…

P1059 [NOIP2006 普及組] 明明的隨機數

題目描述 明明想在學校中請一些同學一起做一項問卷調查&#xff0c;為了實驗的客觀性&#xff0c;他先用計算機生成了N個1到1000之間的隨機整數(N≤100)&#xff0c;對于其中重復的數字&#xff0c;只保留一個&#xff0c;把其余相同的數去掉&#xff0c;不同的數對應著不同的學…

基本的EJB參考,注入和查找

在本系列的第一部分中 &#xff0c;我們介紹了Enterprise JavaBeans v。3.0規范提供的機制&#xff0c;用于定義EJB組件&#xff0c;聲明對EJB的引用并通過依賴項注入或程序化JNDI查找將它們連接起來。 在此博客文章中&#xff0c;我們將研究一些基本示例以了解如何使用EJB API…

ViewPager使用筆記

1.ViewPager.setCurrentItem(position)&#xff0c;即使已設置動畫&#xff0c;但是沒有動畫效果 原因&#xff1a;因為ViewPager滑動之前的時間間隔太短&#xff0c;可以通過反射&#xff0c;去修改ViewPager自動滑動時間&#xff0c;代碼實現如下 1 public class ViewPagerSc…

IOS開發之Swift學習筆記

1.因為存儲屬性要求初始化&#xff0c;我們可以使用lazy修飾符來延遲初始化。轉載于:https://www.cnblogs.com/luntai/p/5430223.html

力扣1兩數之和

給定一個整數數組 nums 和一個整數目標值 target&#xff0c;請你在該數組中找出 和為目標值 target 的那 兩個 整數&#xff0c;并返回它們的數組下標。 你可以假設每種輸入只會對應一個答案。但是&#xff0c;數組中同一個元素在答案里不能重復出現。 你可以按任意順序返回…

C ++或Java,高頻交易哪個更快?

總覽 關于什么是高頻交易的最佳解決方案&#xff0c;存在不同意見。 問題的一部分是高頻交易的變化超出您的預期&#xff0c;另一部分是更快的含義。 我的看法 如果您有一個典型的Java程序員和一個典型的C 程序員&#xff0c;并且每個人都有幾年編寫典型的面向對象程序的經驗…

iOS 8 Xcode6 設置Launch Image 啟動圖片

本人apem http://www.mamicode.com/info-detail-494411.html 如何設置App的啟動圖,也就是Launch Image? Step1 1.點擊Image.xcassets 進入圖片管理,然后右擊,彈出"New Launch Image"2.如圖,右側的勾選可以讓你選擇是否要對ipad,橫屏,豎屏,以及低版本的ios系統做支持…

代碼分享h5-sessionStorage,提示app下載代碼塊

1.html <div class"down-app">    <span id"dowm-close">x</span>    <dl>      <dt>logo</dt>      <dd>        <h3>某某公司</h3>        <p>某某公…

Apache CXF負載平衡和故障轉移

前一段時間&#xff0c;我們已經面臨基于Apache CXF的負載平衡Web服務客戶端的需求。 此外&#xff0c;當某些服務器關閉時&#xff0c;客戶端應自動進行故障轉移。 更糟糕的是&#xff0c;服務器目標地址列表要從外部服務獲取并在運行時更新。 最終&#xff0c;我們最終獲得了…

Java局部變量一定要賦初值

根據大佬文章https://blog.csdn.net/wjw521wjw521/article/details/79243596的理解而寫的 1.類成員變量在 類加載 時會被系統賦初值&#xff0c;比如定義一個整型變量int num 系統默認num值為0 2.但是方法內的局部變量執行進棧操作&#xff0c;這個過程中系統不會賦初值&…

隱式的類類型轉換

如果構造函數只接受一個實參&#xff0c;則它實際上定義了轉換為此類類型的隱式轉換機制。將這種構造函數稱為轉換構造函數。 #ifndef MAIN_H_INCLUDED#define MAIN_H_INCLUDED#include<iostream>usingnamespace std;classClassTest{public:ClassTest(){ cout <<&q…

負數的 %求余和取模

1.求余和取模是不同的 2.‘%’ 在C/C&#xff0c;Java等語言中意為 求余 &#xff0c;在python 中意為 取模 3.a%b c 求余: c的符號和a一致 取模&#xff1a;c的符號和b一致 比如&#xff0c;一個小李子&#xff1a; public class Solution{public static void main(String…

PAT-BASIC-1038-統計同成績學生

本題要求讀入N名學生的成績&#xff0c;將獲得某一給定分數的學生人數輸出。 輸入格式&#xff1a; 輸入在第1行給出不超過105的正整數N&#xff0c;即學生總人數。隨后1行給出N名學生的百分制整數成績&#xff0c;中間以空格分隔。最后1行給出要查詢的分數個數K&#xff08;不…