当前位置:网站首页>Uva1592 Database
Uva1592 Database
2022-07-06 04:33:00 【Pecksniff. k】
The original title is :
Ideas : Use one IDcache To assign all strings ID, recycling pair Form a binary . Maintain left endpoint c1, Enumerate right endpoints c2, At the same time through row Scan the assigned from top to bottom id library . Query the first row That's ok pair(c1,c2) Whether it exists or not .
Code :
#include<iostream>
#include<algorithm>
#include<string>
#include<sstream>
#include<set>// aggregate
#include<map>// mapping
#include<vector>// vector
#include<utility>//pair
#define DEBUG
using namespace std;
map<string,int> IDcache;// Record ID
map<pair<int,int>,int> Binary_pair;// Record where the binary is row
int cnt=0;
int ID(string s)// Distribute ID
{
if(IDcache.count(s))
{
return IDcache[s];
}
else
{
return IDcache[s]=cnt++;
}
}
int main(void)
{
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
int n,m;
while(cin>>n>>m)
{
IDcache.clear();
Binary_pair.clear();
vector<vector<int>> dict(n,vector<int>(m));// Deposit ID
string s;
cnt=0;
cin.get();// Eliminate line breaks
for(int i=0;i<n;i++)
{
getline(cin,s);
for(int j=0;j<s.length();j++)
{
if(s[j]==',')
{
s[j]=' ';// Replace commas with spaces
}
else if(s[j]==' ')
{
s[j]=',';// Replace the space with an impossible comma
}
}
stringstream ss(s);// Character stream
for(int j=0;j<m;j++)
{
string cur;
ss>>cur;
dict[i][j]=ID(cur);
}
}
#ifndef DEBUG// Debug statement
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
cout<<dict[i][j]<<" ";
}
cout<<endl;
}
#endif
if(m>1)
{
for(int c1=0;c1<m-1;c1++)// Maintain left endpoint
{
for(int c2=c1+1;c2<m;c2++)// Enumerate right endpoints
{
Binary_pair.clear();
for(int row=0;row<n;row++)// Traverse from top to bottom
{
pair<int,int> temp(dict[row][c1],dict[row][c2]);
if(Binary_pair.count(temp))// Is not Peter normal form
{
cout<<"NO"<<endl;
cout<<Binary_pair[temp]+1<<" "<<row+1<<endl;
cout<<c1+1<<" "<<c2+1<<endl;
goto out;// Jump out of multiple loops
}
else
{
Binary_pair[temp]=row;
}
}
}
}
}
cout<<"YES"<<endl;
out:;
}
return 0;
}边栏推荐
- Introduction to hashtable
- Knowledge consolidation source code implementation 3: buffer ringbuffer
- ue5 小知识 FreezeRendering 查看视锥内渲染的物体
- Execution order of scripts bound to game objects
- 满足多元需求:捷码打造3大一站式开发套餐,助力高效开发
- 2327. Number of people who know secrets (recursive)
- [Chongqing Guangdong education] engineering fluid mechanics reference materials of southwestjiaotonguniversity
- Mixed development of QML and QWidget (preliminary exploration)
- VNCTF2022 WriteUp
- 图应用详解
猜你喜欢

ue5 小知识点 开启lumen的设置

The most detailed and comprehensive update content and all functions of guitar pro 8.0

Mysql database storage engine

Solution of storage bar code management system in food industry

Overturn your cognition? The nature of get and post requests

Lombok原理和同时使⽤@Data和@Builder 的坑

1291_Xshell日志中增加时间戳的功能

Understanding of processes, threads, coroutines, synchronization, asynchrony, blocking, non blocking, concurrency, parallelism, and serialization

Practical development of member management applet 06 introduction to life cycle function and user-defined method

Figure application details
随机推荐
IDEA编译JSP页面生成的class文件路径
CADD课程学习(7)-- 模拟靶点和小分子相互作用 (柔性对接 AutoDock)
解决“C2001:常量中有换行符“编译问题
[try to hack] John hash cracking tool
[Chongqing Guangdong education] engineering fluid mechanics reference materials of southwestjiaotonguniversity
View 工作流程
Brief tutorial for soft exam system architecture designer | general catalog
满足多元需求:捷码打造3大一站式开发套餐,助力高效开发
Explain in simple terms node template parsing error escape is not a function
Is the mode of education together - on campus + off campus reliable
Tengine kernel parameters
Redis —— Redis In Action —— Redis 实战—— 实战篇一 —— 基于 Redis 的短信登录功能 —— Redis + Token 的共享 session 应用— 有代码
关于进程、线程、协程、同步、异步、阻塞、非阻塞、并发、并行、串行的理解
Sorting out the latest Android interview points in 2022 to help you easily win the offer - attached is the summary of Android intermediate and advanced interview questions in 2022
我想问一下 按照现在mysql-cdc的设计,全量阶段,如果某一个chunk的binlog回填阶段,
How many of the 10 most common examples of istio traffic management do you know?
Can CDC pull the Oracle table in full
[face recognition series] | realize automatic makeup
Query the number and size of records in each table in MySQL database
HotSpot VM