1 solutions

  • 1
    @ 2023-9-23 17:30:30

    STL 大法好

    这道黄题可以用 map 水(小声)

    map,即映射,它和 set 相似的是,可以支持元素集的插入、删除、查找操作 不同的是,map 中的元素是键值对(key-value pair),其内部是按照键来排序的 键不能被修改,键对应的值可以被修改,我们可以通过键来找到值 每个键是唯一的,每个键也唯一对应一个值,不同的键可以拥有相同的值

    使用前需要包含头文件:#include <map> 定义方式为 map<键类型, 值类型> 映射名称 例如 map<string, int> M,我们称之为一个字符串到整型的映射

    map 的本质也是红黑树(一种平衡二叉树,了解即可) 我们一般在需要表示物体的某属性用到,如物体的a属性是b这类

    AC code~

    #include <bits/stdc++.h>
    using namespace std;
    int n, m;
    map<string, int> l;
    int main() {
    	cin >> n;
    	for (int i = 1; i <= n; i++) {
    		string str;
    		cin >> str;
    		l[str] = 1;
    	}
    	cin >> m;
    	for (int i = 1; i <= m; i++) {
    		string str;
    		cin >> str;
    		if (l[str] == 1) {
    			cout << "OK\n";
    			l[str] = 2;
    		}
    		else if (l[str] == 2) {
    			cout << "REPEAT\n";
    		}
    		else {
    			cout << "WRONG\n";
    		}
    	}
    	return 0;
    }
    

    (你居然看完了) (代码不许抄)

    • 1

    Information

    ID
    2438
    Time
    1000ms
    Memory
    128MiB
    Difficulty
    3
    Tags
    # Submissions
    3
    Accepted
    2
    Uploaded By