1、打酱油

题目:

题意:如上。

题解:经典问题。看代码吧。qwq

代码:

 #include<iostream>
#include<cstdio>
#include<algorithm>
#include<cmath>
#include<queue>
#include<stack>
#include<cstring>
using namespace std;
#define ll long long
const int maxn = +; int main(){
int n;
cin>>n; cout<<( (n/)* + (n%/)* + (n%%)/ )<<endl; return ;
}

2、公共钥匙盒

题目:

 

题意:题意描述很清楚啦。

题解:一个小型模拟题。。可能第一题太简单了。。第二题其实卡了一下。。考虑还钥匙和借钥匙。每一个都开vector去进行模拟。借就把原数组置0,还就对比原数组在0的位置赋值。

代码:

 #include<iostream>
#include<cstdio>
#include<cmath>
#include<algorithm>
#include<vector>
using namespace std;
const int maxn = +; int n,k;
int a[maxn]; vector<int> re;
vector<int> br; struct node{
int w;
int s;
int t;
}tea[maxn]; bool cmp(node a,node b){
if(a.s != b.s){
return a.s < b.s;
}
return a.t < b.t;
} void init(int n){
for(int i = ;i <= n ;i++){
a[i] = i;
}
} void findre(int t){
for(int i = ; i < k ;i++){
if(tea[i].t == t){
re.push_back( tea[i].w);
}
}
} void findbr(int t){
for(int i = ; i < k ;i++){
if(tea[i].s == t){
br.push_back( tea[i].w);
}
} } void returnkey(){
sort(re.begin(),re.end());
for( int i = ; i < re.size(); i++){
for( int j = ; j <= n; j++){
if(a[j] == ){
a[j] = re[i];
break;
}
}
}
re.clear(); } void borrowkey(){
sort(br.begin(),br.end());
for( int i = ; i < br.size(); i++){
for( int j = ; j <= n; j++){
if(a[j] == br[i]){
a[j] = ;
break;
}
}
}
br.clear();
} int main(){
cin>>n>>k;
int w,s,c;
init(n);
for(int i = ; i < k ;i++){
cin>>w>>s>>c;
tea[i].w = w;
tea[i].s = s;
tea[i].t = s+c;
}
sort(tea,tea+k,cmp); int maxt = ;
for(int i = ; i < k; i++){
if(maxt < tea[i].t){
maxt = tea[i].t;
}
}
//cout<<maxt<<endl; for(int i = ;i <= maxt; i++){
findre(i);
findbr(i);
//还
if(re.size()){
returnkey();
}
//借
if(br.size()){
borrowkey(); }
} for(int i = ; i <= n ;i++){
cout<<a[i]<<" ";
}
cout<<endl; return ;
}

3、JSON查询

题目: 

题意:有点被恶心到。其实就是按照规则模拟。规则在图上。

题解:输入的时候一行一行判断。map直接进行映射。

1、{   判断,当前是不是需要成为一个object。存储头。对值的存储进行标记。

2、"  判断是起始的还是结束的。以此获取key值。通过标记判断是对象还是直接映射。

3、}  判断是结束标志,还是对象结束标志。分情况进行取值。

4、后面都是一些字符的特判。稍作理解即可。

代码:

 #include<iostream>
#include<cstdio>
#include<algorithm>
#include<cmath>
#include<queue>
#include<stack>
#include<cstring>
#include<map> using namespace std;
#define ll long long
const int maxn = +; map<string,string> mp; int main(){
int n,m;
cin>>n>>m;
string s;
int flag = ;
string header = "";
string val = "";
string key = "";
cin.get();
while(n--){
getline(cin,s);
int len = s.size(); for (int i = ; i < len; i++){
if(s[i] == '{'){
if(key.size()){
header = key;
header += '.';
}
flag = ;
} else if (s[i] == '"'){
if(val.size()){
if(flag){
if(key.size() > ){
val = header + val;
}
mp[val] = "OBJECT";
key = val;
}
else{
mp[key] = val;
}
val = "";
}
} else if (s[i] == ':')
flag = ; else if (s[i] == ',' ){
flag = ;
} else if(s[i] == '\\'){
i++;
val += s[i];
}
else if (s[i] == ' ')continue; else if (s[i] == '}'){
int t = header.rfind('.',header.size()-);
if(t > )
header = header.substr(,t+);
else
header = "";
}
else{
val += s[i];
} }
//cout<<key<<" "<<val<<endl;
}
/*
map<string,string> :: iterator it = mp.begin();
while(it != mp.end()){
cout<<it->first<<" "<<it->second<<endl;
it++;
} */ for (int i = ; i < m ; i ++) {
getline(cin,s); if(mp.count(s)){
if(mp[s] != "OBJECT")
cout<<"STRING "<<mp[s]<<endl;
else
cout<<mp[s]<<endl;
}
else
cout<<"NOTEXIST"<<endl;
} return ;
}

最新文章

  1. SRETAN
  2. Windows系统Stunnel客户端的配置
  3. App lifecycle(UWP深入学习一)
  4. Cocos2d-x 3.0修改Android平台帧率fps - 解决游戏运行手机发热发烫问题
  5. ios 应用程序图标、启动画面、itune图标设置
  6. js获取时间格式化
  7. foreach -begin -process -end
  8. Java中匿名类的两种实现方式(转)
  9. poj1007 qsort快排
  10. Tomcat 用户配置
  11. 【Linux】日志分析工具grep sed sort
  12. page0902未完成
  13. C# 调用线程并行上下文穿透-ILogicalThreadAffinative+CallContext
  14. ccf-20170303--Markdown
  15. HTML表格的简单使用1
  16. easyui再学习的一部分代码
  17. VS编译duilib项目时候的错误解决方法整理(转载)
  18. 配置搭建与使用redis
  19. [C#]跨模块的可选参数与常量注意事项
  20. Vscode rg.exe cpu 占用过高

热门文章

  1. 带头结点的循环单链表----------C语言
  2. win 解除鼠标右键关联
  3. POJ 2451 Uyuw&#39;s Concert (半平面交)
  4. PAT_A1121#Damn Single
  5. redis 配置文件aof配置
  6. CDH5..4.7+phoenix实现查询HBase异常:java.sql.SQLException: ERROR 1102 (XCL02): Cannot get all table regions
  7. python项目部署
  8. thinkphp助手函数
  9. BBS论坛 后台管理
  10. vagrant ssh try