zoukankan      html  css  js  c++  java
  • A1109Group Photo (25分)(逻辑题)

    一、技术总结

    1. 首先题目的意思是,要给一群人拍照,然后要选取好位置,给n个人,排成k行,然后每行人数为n/k,最后一排人数为n-n/k*(k-1)。然后人是身高从高到低排,如果身高一样就按字母顺序从后往前排,在同一行中,最高的在中间位置,然后再左边一个次高的再右边一个第三高的,这样排好这一排,具体理解看题中例子。
    2. 我们首先使用一个结构体将数据存储起来,string类型存储名字,int存储身高。用vector存储,使用cmp函数排序。
    3. 最后使用一个ans存储每一行的需要输出的结果,在放入的时候需要注意。左右两边分别放,跳两个数存一次,具体参考代码。

    二、参考代码

    #include<bits/stdc++.h>
    using namespace std;
    struct node{
    	int height;
    	string name;
    }; 
    int cmp(struct node a, struct node b){
    	return a.height != b.height ? a.height > b.height : a.name < b.name;
    }
    int main(){
    	int n, k, m;
    	cin >> n >> k;
    	vector<node> stu(n);
    	for(int i  = 0; i < n; i++){
    		cin >> stu[i].name;
    		cin >> stu[i].height;
    	}
    	sort(stu.begin(), stu.end(), cmp);
    	int t = 0, row = k;
    	while(row){
    		if(row == k){
    			m = n - n/k*(k-1);
    		}else{
    			m = n / k;
    		}
    		vector<string> ans(m);
    		ans[m / 2] = stu[t].name;
    		//左边一列
    		int j = m / 2 - 1;
    		for(int i = t + 1; i < t + m; i = i + 2){
    			ans[j--] = stu[i].name;
    		} 
    		//右边一列
    		j =  m / 2 + 1;
    		for(int i = t + 2; i < m + t; i = i + 2){
    			ans[j++] = stu[i].name;
    		}
    		//输出当前排
    		cout << ans[0];
    		for(int i = 1; i < m; i++){
    			cout << " " << ans[i];
    		} 
    		cout << endl;
    		t = t + m; 
    		row--;
    	}
    	return 0;
    }
    
    作者:睿晞
    身处这个阶段的时候,一定要好好珍惜,这是我们唯一能做的,求学,钻研,为人,处事,交友……无一不是如此。
    劝君莫惜金缕衣,劝君惜取少年时。花开堪折直须折,莫待无花空折枝。
    曾有一个业界大牛说过这样一段话,送给大家:   “华人在计算机视觉领域的研究水平越来越高,这是非常振奋人心的事。我们中国错过了工业革命,错过了电气革命,信息革命也只是跟随状态。但人工智能的革命,我们跟世界上的领先国家是并肩往前跑的。能身处这个时代浪潮之中,做一番伟大的事业,经常激动的夜不能寐。”
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
  • 相关阅读:
    P3834 【模板】可持久化线段树 (静态主席树)
    P3834 【模板】可持久化线段树 (静态主席树)
    2019 南昌网络赛 I. Max answer
    Linux从入门到精通——系统的进程
    Linux从入门到精通——文件权限
    Linux从入门到精通——命令行使用技巧
    Linux从入门到精通——Linux系统的文件及其管理
    Linux从入门到精通——vim及管理输入输出
    Linux从入门到精通——用户管理
    thiny mission 2021 10 15
  • 原文地址:https://www.cnblogs.com/tsruixi/p/12934327.html
Copyright © 2011-2022 走看看