A. Remove Smallest (STL 의 간단 한 사용) Codeforces Round \ # 661 (Div. 3)
제목: 만약 에 두 개의 수의 차이 가 1 이면 작은 수 를 삭제 하고 두 개의 수가 같 으 면 임의의 하 나 를 삭제 하고 하나의 서열 을 정 합 니 다. 우 리 는 이 규칙 을 거 친 후에 서열 의 수량 이 마지막 에 하나만 남 을 수 있 는 지 판단 합 니 다.
문제 풀이 방향: 이 문 제 는 대기 열 을 이용 하여 비교적 편리 하 게 이 루어 집 니 다. 우 리 는 한 배열 로 입력 배열 을 저장 한 다음 에 정렬 을 합 니 다 (문제 에서 이미 순 서 를 정 했다 고 말 하지 않 았 습 니 다). 그 다음 에 모두 대열 에 들 어가 매번 삭제 할 수 없 는 수량, 즉 마지막 에 남 은 수량 을 판단 합 니 다.우리 가 이렇게 하면 팀 의 머리 요 소 를 취하 고 팀 의 머리 요 소 를 하나 더 내 고 팀 의 머리 요 소 를 가 져 가면 됩 니 다. 만약 에 차이 가 1 보다 적 으 면 삭제 성공 을 설명 합 니 다. 그렇지 않 으 면 + 1 을 설명 하 는 동시에 우 리 는 비교 과정 에서 대열 이 비어 있 는 지 여 부 를 판단 해 야 합 니 다.
AC 코드:
/*
* :[email protected]
*blog:https://blog.csdn.net/hzf0701
* : , 。
*/
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include // G++ , G++
#include
#include
#include
#define scd(n) scanf("%d",&n)
#define scf(n) scanf("%f",&n)
#define scc(n) scanf("%c",&n)
#define scs(n) scanf("%s",n)
#define prd(n) printf("%d",n)
#define prf(n) printf("%f",n)
#define prc(n) printf("%c",n)
#define prs(n) printf("%s",n)
#define rep(i,a,n) for (int i=a;i<=n;i++)//i ,a ,n ,
#define per(i,a,n) for (int i=a;i>=n;i--)//i , a ,n , 。
#define pb push_back
#define fi first
#define se second
#define mp make_pair
using namespace std;
const int inf = 0x3f3f3f3f;//
const int maxn = 1e5;// 。
typedef long long ll;
typedef long double ld;
typedef pair<ll, ll> pll;
typedef pair<int, int> pii;
//******************************* , ***************************************//
int main(){
//freopen("in.txt", "r", stdin);//
ios::sync_with_stdio(false);// iostream , 。
cin.tie(0); cout.tie(0);// tie(0)(0 NULL) cin cout , 。
int t,n,nums[55];
while(cin>>t){
while(t--){
cin>>n;
queue<int> q;
rep(i,0,n-1){
cin>>nums[i];
}
sort(nums,nums+n);
rep(i,0,n-1){
q.push(nums[i]);
}
int sum=0;// 。
int temp,temp1;
while(!q.empty()){
temp=q.front();
q.pop();
if(q.empty()){
sum++;
break;
}
temp1=q.front();
if(temp1-temp>1){
sum++;
}
}
if(sum==1)
cout<<"YES"<<endl;
else
cout<<"NO"<<endl;
}
}
return 0;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Rails Turbolinks를 페이지 단위로 비활성화하는 방법원래 Turobolinks란? Turbolinks는 링크를 생성하는 요소인 a 요소의 클릭을 후크로 하고, 이동한 페이지를 Ajax에서 가져옵니다. 그 후, 취득 페이지의 데이터가 천이 전의 페이지와 동일한 것이 있...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.