Diff
checker
텍스트
텍스트
이미지
문서
Excel
폴더
Legal
Enterprise
데스크톱
요금제
로그인
데스크톱 앱 다운로드
텍스트 비교
두 텍스트 파일의 차이점을 찾아보세요
도구
기록
실시간 편집
변경 없는 행 숨기기
줄바꿈 비활성화
레이아웃
나란히 보기
합쳐 보기
비교 단위
스마트
단어
글자
구문 강조
언어 선택
제외
텍스트 변환
첫 변경으로
수정
Diffchecker Desktop
가장 안전하게 Diffchecker를 사용하는 방법. 데스크톱 앱을 사용하면 비교 데이터가 외부로 전송되지 않습니다!
데스크톱 앱 받기
divccc
생성일
5년 전
비교 결과 만료 없음
초기화
내보내기
공유
설명
1 삭제
행
총
삭제
글자
총
삭제
이 기능을 계속 사용하려면 업그레이드해 주세요
Diff
checker
Pro
요금제 보기
94 행
복사
2 추가
행
총
추가
글자
총
추가
이 기능을 계속 사용하려면 업그레이드해 주세요
Diff
checker
Pro
요금제 보기
94 행
복사
#include <bits/stdc++.h>
#include <bits/stdc++.h>
using namespace std;
using namespace std;
#define int long long
#define int long long
#define FASTIO ios_base::sync_with_stdio(false); cin.tie(NULL);
#define FASTIO ios_base::sync_with_stdio(false); cin.tie(NULL);
#define all(x) (x).begin(), (x).end()
#define all(x) (x).begin(), (x).end()
#define pb push_back
#define pb push_back
#define pii pair<int, int>
#define pii pair<int, int>
#define ff first
#define ff first
#define ss second
#define ss second
#define PI acos(-1)
#define PI acos(-1)
#define ld long double
#define ld long double
template<class T> bool chmin(T& a, const T& b) {return a>b? a=b, true:false;}
template<class T> bool chmin(T& a, const T& b) {return a>b? a=b, true:false;}
template<class T> bool chmax(T& a, const T& b) {return a<b? a=b, true:false;}
template<class T> bool chmax(T& a, const T& b) {return a<b? a=b, true:false;}
const int mod = 1e9+7, N = 2e5+5;
const int mod = 1e9+7, N = 2e5+5;
int msb(int val){return sizeof(int)*8-__builtin_clzll(val)-1;}
int msb(int val){return sizeof(int)*8-__builtin_clzll(val)-1;}
int a[N], n, m, k;
int a[N], n, m, k;
int b[N];
int b[N];
void solve(int test_case){
void solve(int test_case){
int i, j;
int i, j;
cin >> n >> m;
cin >> n >> m;
for(i=1;i<=n;i++)cin >> a[i];
for(i=1;i<=n;i++)cin >> a[i];
for(i=1;i<=n;i++)cin >> b[i];
for(i=1;i<=n;i++)cin >> b[i];
vector<vector<int>> mp(n+1);
vector<vector<int>> mp(n+1);
vector<int> ind(n+1,0);
vector<int> ind(n+1,0);
vector<bool> used(n+1,0);
vector<bool> used(n+1,0);
for(i=1;i<=n;i++){
for(i=1;i<=n;i++){
if(a[i] != b[i]){
if(a[i] != b[i]){
used[i] = true;
used[i] = true;
mp[b[i]].pb(i);
mp[b[i]].pb(i);
}
}
}
}
for(i=1;i<=n;i++){
for(i=1;i<=n;i++){
if(used[i])continue;
if(used[i])continue;
mp[b[i]].pb(i);
mp[b[i]].pb(i);
}
}
vector<int> ans(m+1);
vector<int> ans(m+1);
vector<int> cc(m+1);
vector<int> cc(m+1);
for(i=1;i<=m;i++){
for(i=1;i<=m;i++){
cin >> cc[i];
cin >> cc[i];
}
}
for(i=1;i<=m;i++){
for(i=1;i<=m;i++){
int x = cc[i];
int x = cc[i];
if(mp[x].empty()){
if(mp[x].empty()){
continue;
continue;
}
}
int now = mp[x][ind[x]];
int now = mp[x][ind[x]];
ans[i] = now;
ans[i] = now;
a[now] = x;
a[now] = x;
ind[x]++;
ind[x]++;
ind[x] %= mp[x].size();
ind[x] %= mp[x].size();
}
}
vector<int> rem;
vector<int> rem;
for(i=m;i>=1;i--){
for(i=m;i>=1;i--){
if(ans[i] == 0){
if(ans[i] == 0){
if(rem.empty()){
if(rem.empty()){
cout << "NO\n";
cout << "NO\n";
return;
return;
}
}
int t = rem.back();//rem.pop_back();
int t = rem.back();//rem.pop_back();
ans[i] = t;
ans[i] = t;
}else {
}else {
rem.pb(ans[i]);
rem.pb(ans[i]);
}
}
}
}
복사
복사됨
복사
복사됨
for(i=1;i<=
m
;i++){
for(i=1;i<=
n
;i++){
if(a[i] != b[i]){
if(a[i] != b[i]){
cout << "NO\n";
cout << "NO\n";
return;
return;
}
}
}
}
복사
복사됨
복사
복사됨
for(i=1;i<=m;i++)assert(ans[i]);
cout << "YES\n";
cout << "YES\n";
for(i=1;i<=m;i++)cout << ans[i] << ' ';
for(i=1;i<=m;i++)cout << ans[i] << ' ';
cout << '\n';
cout << '\n';
return;
return;
}
}
signed main(){
signed main(){
FASTIO;
FASTIO;
#define MULTITEST 1
#define MULTITEST 1
#if MULTITEST
#if MULTITEST
int _T;
int _T;
cin >> _T;
cin >> _T;
for(int T_CASE = 1; T_CASE <= _T; T_CASE++)
for(int T_CASE = 1; T_CASE <= _T; T_CASE++)
solve(T_CASE);
solve(T_CASE);
#else
#else
solve(1);
solve(1);
#endif
#endif
return 0;
return 0;
}
}
저장된 비교 결과
원본
파일 열기
#include <bits/stdc++.h> using namespace std; #define int long long #define FASTIO ios_base::sync_with_stdio(false); cin.tie(NULL); #define all(x) (x).begin(), (x).end() #define pb push_back #define pii pair<int, int> #define ff first #define ss second #define PI acos(-1) #define ld long double template<class T> bool chmin(T& a, const T& b) {return a>b? a=b, true:false;} template<class T> bool chmax(T& a, const T& b) {return a<b? a=b, true:false;} const int mod = 1e9+7, N = 2e5+5; int msb(int val){return sizeof(int)*8-__builtin_clzll(val)-1;} int a[N], n, m, k; int b[N]; void solve(int test_case){ int i, j; cin >> n >> m; for(i=1;i<=n;i++)cin >> a[i]; for(i=1;i<=n;i++)cin >> b[i]; vector<vector<int>> mp(n+1); vector<int> ind(n+1,0); vector<bool> used(n+1,0); for(i=1;i<=n;i++){ if(a[i] != b[i]){ used[i] = true; mp[b[i]].pb(i); } } for(i=1;i<=n;i++){ if(used[i])continue; mp[b[i]].pb(i); } vector<int> ans(m+1); vector<int> cc(m+1); for(i=1;i<=m;i++){ cin >> cc[i]; } for(i=1;i<=m;i++){ int x = cc[i]; if(mp[x].empty()){ continue; } int now = mp[x][ind[x]]; ans[i] = now; a[now] = x; ind[x]++; ind[x] %= mp[x].size(); } vector<int> rem; for(i=m;i>=1;i--){ if(ans[i] == 0){ if(rem.empty()){ cout << "NO\n"; return; } int t = rem.back();//rem.pop_back(); ans[i] = t; }else { rem.pb(ans[i]); } } for(i=1;i<=m;i++){ if(a[i] != b[i]){ cout << "NO\n"; return; } } cout << "YES\n"; for(i=1;i<=m;i++)cout << ans[i] << ' '; cout << '\n'; return; } signed main(){ FASTIO; #define MULTITEST 1 #if MULTITEST int _T; cin >> _T; for(int T_CASE = 1; T_CASE <= _T; T_CASE++) solve(T_CASE); #else solve(1); #endif return 0; }
수정본
파일 열기
#include <bits/stdc++.h> using namespace std; #define int long long #define FASTIO ios_base::sync_with_stdio(false); cin.tie(NULL); #define all(x) (x).begin(), (x).end() #define pb push_back #define pii pair<int, int> #define ff first #define ss second #define PI acos(-1) #define ld long double template<class T> bool chmin(T& a, const T& b) {return a>b? a=b, true:false;} template<class T> bool chmax(T& a, const T& b) {return a<b? a=b, true:false;} const int mod = 1e9+7, N = 2e5+5; int msb(int val){return sizeof(int)*8-__builtin_clzll(val)-1;} int a[N], n, m, k; int b[N]; void solve(int test_case){ int i, j; cin >> n >> m; for(i=1;i<=n;i++)cin >> a[i]; for(i=1;i<=n;i++)cin >> b[i]; vector<vector<int>> mp(n+1); vector<int> ind(n+1,0); vector<bool> used(n+1,0); for(i=1;i<=n;i++){ if(a[i] != b[i]){ used[i] = true; mp[b[i]].pb(i); } } for(i=1;i<=n;i++){ if(used[i])continue; mp[b[i]].pb(i); } vector<int> ans(m+1); vector<int> cc(m+1); for(i=1;i<=m;i++){ cin >> cc[i]; } for(i=1;i<=m;i++){ int x = cc[i]; if(mp[x].empty()){ continue; } int now = mp[x][ind[x]]; ans[i] = now; a[now] = x; ind[x]++; ind[x] %= mp[x].size(); } vector<int> rem; for(i=m;i>=1;i--){ if(ans[i] == 0){ if(rem.empty()){ cout << "NO\n"; return; } int t = rem.back();//rem.pop_back(); ans[i] = t; }else { rem.pb(ans[i]); } } for(i=1;i<=n;i++){ if(a[i] != b[i]){ cout << "NO\n"; return; } } for(i=1;i<=m;i++)assert(ans[i]); cout << "YES\n"; for(i=1;i<=m;i++)cout << ans[i] << ' '; cout << '\n'; return; } signed main(){ FASTIO; #define MULTITEST 1 #if MULTITEST int _T; cin >> _T; for(int T_CASE = 1; T_CASE <= _T; T_CASE++) solve(T_CASE); #else solve(1); #endif return 0; }
비교하기