• CF1203B Equal Rectangles




    双指针,一个从前往后扫,一个从后往前扫,如果过到最后撑起来答案都是一样的,就yes否则no


    #include <iostream>
    #include <stdio.h>
    #include <string.h>
    #include <vector>
    #include <algorithm>
    #define int long long 
    using namespace std ;
    int x , n , T ;
    int a[500] , b[500] , vis[14000] , tot = 0 , flag = 0 ;
    vector<int>v ;
    signed main () {
    	cin >> T ;
    	while(T --) {
    		v.clear() ;
    		memset(vis,0,sizeof(vis)) ;
    		memset(b,0,sizeof(b)) ;
    		cin >> n ;tot = 0 ;flag = 0 ;
    		for(int i = 1 ; i <= 4*n ; i ++) {
    			cin >> a[i] ;
    			if(!vis[a[i]]) {
    				b[++tot] = a[i];
    				vis[a[i]] ++ ;
    			}else {
    				vis[a[i]] ++ ;
    			}
    		}
    		for(int i = 1 ; i <= tot ; i ++) {
    			if(vis[b[i]] % 2 == 1 ) {
    				//cout << "NO
    " <<endl ;
    				//continue ;
    				flag = 1 ;
    			} else {
    				vis[b[i]] /= 2 ;
    			}
    		}
    		for(int i = 1 ; i <= tot ; i ++) {
    			for(int j = 1 ; j <= vis[b[i]] ; j ++) {
    				v.push_back(b[i]) ; 
    			}
    		}
    		sort(v.begin(),v.end()) ;
     
    		int tot = v[0] * v[v.size()-1] ;int l = 0 ;
    		while(l < n ) {
    			if(v[l]*v[2*n-l-1] != tot ) {
    				flag = 1 ;
    			}
    			l ++ ;
    			
    		}
    		if(!flag)
    		puts("YES") ;
    		else puts("NO") ;
    	}
    	return 0 ;
    }
    
    

    溜了溜了

  • 相关阅读:
    border-color
    animation
    servlet injection analysis
    事务隔离级别
    write RE validation
    Filter
    Annotation
    Injector
    gradle的安装
    Build tool
  • 原文地址:https://www.cnblogs.com/lyt020321/p/11396349.html
Copyright © 2020-2023  润新知