172210704111-陈国佳总结《2018年1月4日》【连续086天】
标题:Boolean Expressions的基本实现和游览器UA标识的认识;
内容:
A.经过反复修改,Boolean Expressions的问题以基本解决,但提交到OJ上时,超时了,经过优化后依旧超时,暂时贴出超时代码;
#include<iostream>
#include<cstring>
#include<cstdlib>
using namespace std;
char getc()
{
char a=cin.get();
while(a==' ')a=cin.get();
if(a!=' ')return a;
}
char Expression();
char Term();
char Factor();
char Expression()
{
char result=Term();
bool more=true;
while(more){
char a=getc();
if(a=='|'){
char value=Term();
result |=value;
}
else {more=false;
cin.putback(a);
}
return result;
}
}
char Term()
{
char result=Factor();
bool more=true;
while(more){
char a=getc();
if(a=='&'){
char value=Factor();
result &=value;
}
else {more=false;
cin.putback(a);
}
}
return result;
}
char Factor()
{
char result=true;
char a=getc();
if(a=='('){
result=Expression();
cin.get();
}
else {
if(a=='!'){
char b=getc();
if(b=='V')result=false;
else result=true;
}
else if(a=='V')result=true;
else result=false;
}
return result;
}
int main()
{
char a;
int i=1;
while((a=cin.peek())){
if(a=='\n')continue;
bool result=Expression();
if(result)cout<<"Expression "<<i<<": "<<'V';
else cout<<"Expression "<<i<<": "<<'F';
++i;
}
return 0;
}
B.逛贴吧时,经人启发,搞了一下17年总结(不是PS),虽然没什么技术含量,但挺有趣的;
具体原理非常简单:电脑游览器以安卓UA打开网易云音乐年总结的链接,右键审查元素(或检查),直接修改HTML代码中的文本内容就可以了,当然,你也可以更改其它内容,不过这一切仅仅是修改保存到你电脑上网页的代码,原网页不会有任何变化,所以只是用来娱乐的。
任何网页(除禁止审查外,当然,你也可以找到解决方法)都可以这样搞,但上述例子在电脑端打开是一个二维码,因此需要更改浏览器的UA,方法各种各样,我是下了一个改UA的浏览器的插件。
浏览器标识(UA)可以使得服务器能够识别客户使用的操作系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件,从而判断用户是使用电脑浏览还是手机浏览,让网页作出自动的适应。
明日计划:学习;